Команды управления окном

Полезно сразу усвоить некоторые команды управления окном командного режима:

  • • clc — очищает экран и размещает курсор в левом верхнем углу пустого экрана;
  • • home — возвращает курсор в левый верхний угол окна;
  • • echo on — включает режим вывода на экран текста Script-файла (файла-сценария);
  • • echo off — выключает режим вывода на экран текста Script-файла;
  • • echo — меняет режим вывода на противоположный;
  • • echo on all — включает режим вывода на экран текста всех ш-файлов;
  • • echo off all — отключает режим вывода на экран текста всех т-файлов;
  • • more on — включает режим постраничного вывода (полезен при просмотре больших т-файлов);
  • • more off — отключает режим постраничного вывода (в этом случае для просмотра больших файлов надо пользоваться линейкой прокрутки).

В новых версиях MATLAB обе команды clc и home действуют аналогично — очищают экран и помешают курсор в левый верхний угол окна командного режима работы. Команды echo позволяют включать или выключать отображение текстов m-файлов при каждом обращении к ним. Как правило, отображение текста файлов сильно загромождает экран и часто не является необходимым. При больших размерах файлов начало их текста (листинга) убегает далеко за пределы области просмотра (текущего окна командного режима). Поэтому для просмотра длинных листингов файлов полезно включить постраничный вывод командой more on. Различие между m-файлами сценариев и функций мы обсудим позже.

MATLAB в режиме прямых вычислений

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

Работа с системой в режиме прямых вычислений (или в командном режиме) носит диалоговый характер и происходит по правилу «задал вопрос, получил ответ». Пользователь набирает на клавиатуре вычисляемое выражение, редактирует его (если нужно) в командной строке и завершает ввод нажатием клавиши ENTER. В качестве примера на рис. 1.2 уже были показаны простейшие вычисления — вычисление выражения 2 + 2 и значения sin([l 2 3]) и ехр(1).

Даже из таких простых примеров можно сделать некоторые поучительные выводы:

  • • для указания ввода исходных данных используется символ >>;
  • • данные вводятся с помощью простейшего строчного редактора;
  • • для блокировки вывода результата вычислений некоторого выражения после него надо установить знак ; (точка с запятой);
  • • если не указана переменная для значения результата вычислений, то MATLAB назначает такую переменную с именем ans;
  • • знаком присваивания является привычный математикам знак равенства =, а не комбинированный знак :=, как во многих других языках программирования и математических системах;
  • • встроенные функции (например sin) записываются строчными буквами, и их аргументы указываются в круглых скобках;
  • • результат вычислений выводится в строках вывода (без знака »);
  • • диалог происходит в стиле «задал вопрос — получил ответ».

Следующий пример (он показан на рис. 1.8) иллюстрирует применение системы MATLAB для выполнения простых векторных операций. В этом примере задается четырехэлементный вектор V со значениями элементов 1, 2, 3 и 4. Далее (сосредоточьте на этом внимание!) вычисляются функции синуса и экспоненты с аргументом в виде вектора, а не скаляра.

Две записи для вектора — v= [ 1 2 3 4] и v= [1,2,3,4] — являются идентичными. Таким образом, векторы задаются списком своих элементов, разделяемых пробелами или запятыми. Список заключается в квадратные скобки. Для выделения /7-го элемента вектора v используется выражение v (п). Оно задает соответствующую индексированную переменную.

В большинстве математических систем вычисление sin (V) и exp (V), где V — вектор, сопровождалось бы выдачей ошибки, поскольку функции sin и ехр должны иметь аргумент в виде скалярной величины. Однако MATLAB — матричная система, а вектор является разновидностью матрицы с размером 1 х п. Поэтому в нашем случае результат вычислений будет вектором того же размера, что и аргумент V, но элементы возвращаемого вектора будут синусами или экспонентами от элементов вектора V.

Матрица в MATLAB задается в виде ряда векторов, представляющих ее строки и заключенных в квадратные скобки. Для разделения элементов векторов используется пробел или запятая, а для отделения одного вектора от другого — точка с запятой. Для выделения отдельного элемента матрицы м используется выражение вида м (j, i), где м — имя матрицы, j — номер строки Hi — номер столбца.

Приведем примеры вычислений в командном режиме:

» 2 + 3

ans =

5

» sin (1)

ans =

О .8415

>> type sin

sin is a built-in function.

>> help sin

SINSine.

SIN (X) is the sine of the elements of X. Overloaded methods

help sym/sin.m

» V=[l 2 3 4]

V =

12 3 4

» sin(V)

ans =

0.8415 0.9093 0.1411 -0.7568

» 3*V

ans =

3 6 9 12

» V~2

??? Error using ==> Л Matrix must be square.

» V.A2

ans =

  • 14 9
  • 16
  • 6

» V+2

ans =

3 4 5

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

Сравните эти записи с записями в реальных сессиях (рис. 1.2 и 1.8). Вы наверняка отметите, что они практически идентичны. Разве что в текстовых вариантах примеров для экономии бумаги, на которой печаталась эта книга, убраны пропуски между строками. Мы будем показывать представление сессий в виде прямых копий экрана только в том случае, когда это связано со спецификой проведения вычислений, например, когда они сопровождаются выводом графиков или демонстрацией элементов пользовательского интерфейса. В остальных случаях будет использоваться представление сессии прямо в тексте книги в представленном выше текстовом формате — основном для командного режима работы с системой MATLAB. При этом строки ввода будут отмечаться маркером ввода » в их начале. Ради компактности записи пустые строки будут опускаться.

О переносе строки в сессии

В некоторых случаях вводимое математическое выражение может оказаться настолько длинным, что для него не хватит одной строки. В этом случае часть выражения можно перенести на новую строку с помощью знака многоточия «. . .» (3 или более точек), например:

  • s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - ...
  • 1/8 + 1/9 - 1/10 + 1/11 - 1/12;

Этот прием может быть весьма полезным для создания наглядных документов, у которых предотвращается заход строк в невидимую область окна. Вообще говоря, максимальное число символов в одной строке командного режима — 4096, а в m-файле — не ограничено, но со столь длинными строками работать неудобно. В ранних версиях в одной строке было не более 256 символов.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >