Окно панели Command Window и простейшие вычисления

Система MatLab создана таким образом, что любые вычисления можно выполнять в режиме прямых вычислений, то есть без написания программы. Это превращает MatLab в необычайно мощный калькулятор, который способен производить не только обычные для калькуляторов вычисления (например, выполнять арифметические операции и вычислять элементарные функции), но и выполнять операции с векторами и матрицами, комплексными числами, рядами и полиномами и т.п. Можно почти мгновенно задать различные функции и построить их графики.

Командное окно панелиCommand Window используется для ввода команд и вывода результатов их выполнения. Работа с командным окном происходит в диалоговом режиме: пользователь вводит команду и передает ее ядру MatLab, ядро обрабатывает полученную команду и возвращает результат. Все команды вводятся в командную строку после появления приглашения - >>, которое свидетельствует о готовности ядра системы MatLab к обработке очередной команды.

Таким образом, работа с системой в режиме прямых вычислений носит диалоговый характер и происходит по правилу «задал вопрос, получил ответ». То есть, пользователь набирает на клавиатуре, например, выражение, которое необходимо вычислить, редактирует его (если необходимо) в командной строке и завершает ввод нажатием клавиши < Enter >.

Рассмотрим простейший пример. Во-первых, вычислим результат выражения 2+3. Для вычисления 2+3необходимо ввести с клавиатуры в Command Window.

Пример 3.1-1а
>> 2+3

 

и нажать клавишу <Enter>. В итоге на следующей строке будет выведено:

Пример 3.1-1b
ans = >>

 

Далее о нажатии клавиши <Enter> упоминать не будем.

Из примера 3.1-1 видно, что MatLab по умолчанию создаёт переменную с именем ans, в которую записывает значение результата предыдущей операции (ее можно увидеть в рабочей области).Рассмотрим второй пример.
Пример 3.1-2а
>> a=sin(pi/2) a = >>

 

В этом примере создаётся переменная а, которой присваивается значение выражения sin(pi/2), где pi – предопределённая в MatLab константа (существует множество других предопределённых констант, например е, i -мнимая единица и др.).

Если после выражения поставить точку с запятой, то результат вычисления не будет выведен на экран, но переменная а будет создана и ей будет присвоено вычисленное значение:

Пример 3.1-2b
>> a=sin(pi/2); >>

 

Значение этой переменной можно узнать, дважды щёлкнув по ней в рабочей области (Workspace), либо просто набрав её имя в командной строке.

Пример 3.1-2c
>> aa= 1 >>

 

Переменную, которой ранее было присвоено значение, можно использовать для дальнейших вычислений, например:

Пример 3.1-2d
>> x=3 - ax = 2 >>
Если в выражении указан операнд, значение которого неизвестно,MatLabвыдает сообщение об ошибке:
Пример 3.1-2е
>> (y+a)*(y-a)??? Undefined function or variable ‘y’.>>

 

Если команда не помещается полностью в видимой части одной строки экрана, необходимо поставить три точки подряд, а затем нажать <Enter> и продолжать ввод команды на следующей строке.

Пусть, например, требуется найти значение выражения при x = 0.2 и y = –3.9:

Если набирать сразу все выражение, то получается достаточно длинная строка. Для переноса на следующую строку любой команды MatLab можно использовать знак переноса в виде трех подряд идущих точек. Вслед за знаком переноса необходимо нажать <Enter>:

Пример 3.1-3а
>> x=0.2; >> y=-3.9; >> c=sqrt((sin(4/3*pi*x)+exp(0.1*y))/(cos(4/3*pi*x)+exp(0.1*y)))+... ((sin(4/3*pi*x)+exp(0.1*y))/(cos(4/3*pi*x)+exp(0.1*y)))^(1/3) c = 2.0451 >>

 

Однако проще всего решить эту задачу, используя промежуточные переменные.

Пример 3.1-3b
>> x=0.2; >> y=-3.9; >> a=sin(4/3*pi*x)+exp(0.1*y); >> b=cos(4/3*pi*x)+exp(0.1*y); >> c=sqrt(a/b)+(a/b)^(1/3) c = 2.0451 >>

 

Здесь необходимо обратить внимание на некоторые важные особенности. Например, все операторы присваивания, кроме последнего, завершаются точкой с запятой для подавления вывода результата. Необязательно набирать выражение для b, похожее на только что введенное для a. После ввода третьей строки необходимо нажать клавишу <↑>. В командной строке появится предыдущее выражение, в которое следует внести необходимые изменения, а именно, необходимо заменить sin() на cos(), b на a и нажать <Enter>. Клавиши <↑> и <↓> служат для перехода по истории команд, то есть. для занесения ранее набранных команд в командную строку. Для быстрого перехода по истории команд можно также использовать окно панели Command History.

Необходимо обратить внимание, что в любой момент можно вывести значение переменной в командное окно, для чего следует набрать имя переменной в командной строке и нажать <Enter>,либо вызвать функцию disp(), например disp(b).

Все переменные системы размещаются в рабочей области, содержимое которой (имена, размерность, тип) можно просмотреть командами whoи whos.

Для очистки командного окна достаточно выполнить команду clс, а для очистки рабочей области – командуclear.

Необходимо иметь в виду, что любой фрагмент окна командной строки можно выделить и копировать в буфер, например, для переноса в Wordиливкомандную строку. Возможен также перенос в командную строку текстовых фрагментов из других систем.

Все числовые значения, с которыми оперирует MatLab,в оперативной памяти компьютера представлены вещественными или комплексными значениями double. Это означает, что каждое вещественное число занимает 8 байт в памяти и принимает по модулю значения из диапазона [10-308;10+308], причем количество значащих десятичных цифр достигает 16. Именно с такой точностью MatLabвыполняет все вычисления.

Однако, при отображении числовых результатов на экране дисплея часть значащих цифр могут не отображаться в соответствии с установленным форматом вывода, причем отображаемые значения округляются по общепринятым в математике правилам.

Поскольку по умолчанию все вычисления в MatLabвыполняются с двойной точностью, формат вывода может быть установлен двумя способами: как программным путем с помощью команды formatв окне панели Command Window, так и с помощью установки соответствующих свойств окна панели Command Window.

Для установки свойств среды системы MatLab,аконкретно свойств окна панели Command Window,необходимо активизировать элементосновного менюFile,а затем выбрать команду Preference,а в раскрывшемся диалоговом окне Preferences выделить вкладку Command Window(рис. 3.1-3).

 

Рис. 3.1-3. Окно установки свойств среды системы MatLab

Внутри группы Text display окна Preferences будут расположены раскрывающиеся списки Numeric format и Numeric display.Далее из раскрывающегося спискаNumeric format можно установить один из форматов, приведенных в табл. 3.1-1.

 


 

Таблица 3.1-1

Формат Описание
short Короткое число с плавающей точ­кой. Представляется с помощью четырех цифр после десятичной точки ( по умолчанию)
long Длинное число с плавающей точ­кой. Представляется с помощью четырнадцати цифр после десятичной точки
short e Короткое число с плавающей точ­кой. Представляется с помощью пяти разрядов, четыре из которых отводится под вывод дробной части
long e Длинное число с плавающей точ­кой. Представляется с помощью шестнадцати разрядов, пятнадцать из которых отводится под вывод дробной части
short g Выбирается наилучшая форма представления числа из форматов short и short e
long g Выбирается наилучшая форма представления числа из форматов long и long e
hex Число выводится в шестнадцатеричной форме
+ Символьное обозначение числа: «+» - положительное число; «-» - отрицательное число; пробел - нулевое значение
rational Число выводится в дробном виде

 

Для выделения результата вычисления или значения переменной MatLabвставляет пустую строку перед выводимым значением. Управлять появлением пустой строки или ее отсутствием можно в в раскрывшемся диалоговом окне Preferencesвнутри группыText displayс помощью следующих форматов:

 

· compact- строки с результатами выводятся подряд;

· loose - строки с результатами разделяются пустой строкой.

Команда format служит для установки формата из командной строки. Например, обращение

Пример 3.1-4
>> format short e >>

 

аналогично выбору короткого формата в окне Preferences.

Еще раз необходимо напомнить, что вне зависимости от установленного формата все вычисления производятся с двойной точностью, следовательно, после смены формата с short на long не требуется повторно находить значения переменных. Достаточно снова вывести их значения в командном окне.

Также еще раз напомним, что содержимое командной строки MatLabлегко редактируется. Курсор можно перемещать с помощью стрелок <←>, <→>и удалять неправильно набранные символы с помощью клавиш <Backspace>или <Delete>. Как было уже сказано, удобным свойством системы является возможность использовать клавиши-стрелки <↑>,<↓>для доступа к стеку с ранее введенными командами. Таким образом, имеется возможность заново вызывать ранее вызванную команду, отредактировать ее и снова выполнить. Для небольших процедур это гораздо удобнее, чем писать и отлаживать специальные m-файлы, что требует постоянного перехода из окна MatLabв окно текстового редактора.

Все команды строчного редактора перечислены в таблице 3.1-2.

 

 

Таблица 3.1-2

Комбинация клавиш Назначение
Перемещение курсора вправо на один символ
Перемещение курсора влево на один символ
Ctrl+→ Перемещение курсора вправо на одно слово
Ctrl+← Перемещение курсора влево на одно слово
Home Перемещение курсора в начало строки
End Перемещение курсора в конец строки
↑ и ↓ Перелистывание предыдущих команд вверх или вниз для подстановки в строку ввода
Del Стирание символа справа от курсора
Backspace Стирание символа слева от курсора
Ctrl+k Стирание до конца строки
Esc Очистка строки ввода
Ins Вкл/выкл режима вставки
PgUp Перелистывание страниц сессии вверх
PgDn Перелистывание страниц сессии вниз