Окно панели 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 >> |
Пример 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 | Перелистывание страниц сессии вниз |