Читайте также: |
|
Работа в среде MATLAB может осуществляться либо в программном режиме, либо в командном режиме (режиме калькулятора, диалоговом режиме) по правилу «задал вопрос, получил ответ». Это превращает MATLAB в необычайно мощный калькулятор, который способен производить не только обычные для калькулятора вычисления, но и операции с векторами и матрицами, комплексными числами, рядами и полиномами. Можно почти мгновенно задать и вывести графики различных функций – от простой синусоиды до сложной трехмерной фигуры.
Основным элементом командного режима работы с системой является главное или командное окно Command Window. Оно активизируется командой View => Desktop Layout => Command Window Only рабочей среды. Структура командного окна аналогична структуре Windows – приложений (рис 1.2).
Рис 1.2
Строка в текстовом поле командного окна, отмеченная символом приглашения >> с мигающим курсором, называется строкой ввода или командной строкой. Она предназначена для ввода с клавиатуры команд, чисел, имен переменных и знаков операций, составляющих выражение. Для того, чтобы система MATLAB выполнила введенную команду или вычислила заданное выражение, следует нажать клавишу <Enter> (Ввод).
При вводе курсор может находиться в любом месте командной строки. Введенные выражения вычисляются, а результаты вычислений и выполнения команд появляются в одной или нескольких строках командного окна – строках вывода.
В результате многократных вычислений (нажатий клавиши <Enter>) в командном окне автоматически производится вертикальная протяжка (scrolling): строки сдвигаются на одну позицию вверх, а внизу появляется строка ввода с символом приглашения >>. Информация, которая покинула видимую часть окна, не исчезает. В MATLAB ранее введенные строки команд представляют собой «историю» и запоминаются в стеке команд.
Для просмотра выполненных команд и результатов вычислений, не умещающихся на экране, имеются полосы горизонтальной и вертикальной протяжки. Использование полос протяжки ничем не отличается от других Windows – приложений. Можно также осуществлять протяжку командного окна с помощью клавиш <PageUp>, <PageDown>, <Ctrl+Home> и <Ctrl+End>.
Клавиши <↑> и <↓>, которые в текстовых редакторах служат для перемещения вверх или вниз по экрану, в MATLAB работают иначе. Они используются для возврата в строку ввода ранее выполненных команд с целью их повторного выполнения или редактирования. После первого нажатия клавиши <↑> в строке ввода отобразится последняя введенная команда, при втором нажатии – предпоследняя и т.д. Клавиша <↓> осуществляет прокрутку команд в противоположном направлении.
Иными словами, текстовое поле окна Command Window располагается в двух принципиально разных зонах: зоне просмотра и зоне редактирования. Зона редактирования находится в командной строке, а вся остальная информация видимой части командного окна – в зоне просмотра.
Пока не нажата клавиша <Enter>, вводимое выражение может быть отредактировано или удалено. В зоне просмотра уже ничего нельзя исправить. Если поместить в нее курсор и нажать какую – либо клавишу на клавиатуре, курсор будет автоматически перемещен в строку ввода, расположенную в зоне редактирования В то же время, с помощью клавиш <←> и <→> можно перемещать курсор в командной строке.
Невозможность редактирования ранее введенной команды простой установкой курсора в нужную строку является одной из особенностей системы MATLAB.
Сеанс работы с системой MATLAB называется сессией. Иными словами, сессия – это все то, что отображается в командном окне в процессе работы с системой. Команды сессии автоматически образуют список, который выводится в окне Command History, а значения переменных сохраняются в окне Workspase (рис.1.1).
Сессия на рис.1.2 содержит четыре команды и результаты их выполнения. Рассмотрим каждую из этих команд и установим некоторые особенности вычислений в системе MATLAB:
● >> 2+3
ans =
Результату выполненной операции не было присвоено имя, поэтому при выводе он был автоматически обозначен символом ans (ansver). Под этим именем результат вычислений хранится в памяти компьютера и его можно использовать в последующих вычислениях, до тех пор, пока в ходе работы не будет получен новый непоименованный результат. Результат вычислений выводится в строках вывода (без знака >>);
● >> a=2/3,A=2^3;cos(pi),b=exp(1)
a =
0.6667
ans =
-1
b =
2.7183
В одной строке могут быть введены несколько выражений и/или команд. В этом случае они разделяются либо запятыми, либо точками с запятой. Результат вычисления выражения или исполнения команды, за которыми следует запятая, выводится на экран. Результат вычисления выражения, за которым следует символ <; >, на экран не выводится, но он сохраняется в памяти и может быть использован в последующих вычислениях.
Знаком присваивания является знак =, а не комбинированный знак :=, принятый, например, в языке программирования Pascal или в системе символьной математики Maple.
В результате выполнения этой команды вычислены и сохранены в памяти переменные a=2/3=0,б667, A=23=8, ans=cosp =-1, b=e1=e=2,7183 (e – основание натурального логарифма), но переменная A не была выведена на экран, так как за ней следует символ <; >. При вычислении cosp использовалась системная переменная pi – число p. Число e системной переменной не является, и для его вычисления использована встроенная элементарная функция exp (экспонента). Функции записываются строчными буквами и их аргументы указываются в круглых скобках. Аргумент тригонометрической функции cos задан в радианах;
● >> disp(A/2+ans)
Функция disp (от слова «дисплей») выводит в командное окно результат вычисления выражения 23 /2+ cosp, заключенного в скобки, без сохранения этого результата в памяти. При вычислениях с помощью функции disp в командном окне не отображается строка вывода с указанием имени переменной или имени ans, как это происходит при обычных вычислениях:
>> A/2+ans
ans =
Применение функции disp полезно для создания наглядных документов, у которых предотвращается вывод строк, не несущих полезной информации;
● >> c=.5+3-11+...
22-8.4+7
c =
13.1000
Для ввода длинных формул или команд в командную строку следует поставить три точки (подряд, без пробелов), нажать клавишу <Enter> и продолжить набор формулы на следующей строке. Так можно распространить командную строку на несколько физических строк. MATLAB вычислит все выражение или выполнит команду после нажатия на клавишу <Enter> в последней строке (в которой нет трех идущих подряд точек). Этот прием полезен для создания наглядных документов, у которых предотвращается выход строк в невидимую область окна.
Сессия на рис.1.2 содержит только правильные команды и результаты их выполнения. В общем случае, сессия является результатом проб и ошибок. Ее текст, наряду с правильными определениями, содержит сообщения и предупреждения об ошибках, переопределения функций и переменных, использованную справочную информацию команды help. Если сессия сильно «засорена» лишней информацией, диалог пользователя с системой затрудняется.
Команда очистки экрана clc
>> clc
стирает содержание командного окна MATLAB и размещает символ приглашения >> в левом верхнем углу пустого экрана.
Эта команда, однако, оставляет неизменным содержимое окон Command History и Workspase. Поэтому в «чистом» командном окне можно пользоваться значениями переменных, полученных до ввода команды clc.
Если же появится необходимость отредактировать или повторить ранее выполненную команду, то это легко осуществить с помощью окна Command History. Подробнее работа с оконами Command History и Workspase рассматривается в разделах 1.7 и 1.9 соответственно.
Переменные – это именованные объекты, хранящие какие – либо данные.
Переменные могут быть числовыми, матричными или символьными, что зависит от типа хранящихся в них данных. Типы переменных заранее не декларируются. Они определяются выражением, значение которого присваиваивается переменной, т.е. пользователь не должен заботиться о том, какие значения будет принимать переменная (комплексные, вещественные или целые).
Имя переменной (ее идентификатор) может содержать до 31 символа и не должно совпадать с именами других переменных, функций, команд и системных переменных MATLAB. Имя переменной должно начинаться с буквы, может содержать цифры и символ подчеркивания. MATLAB чувствителен к регистру букв (переменные a и A не идентичны).
В MATLAB существует несколько имен переменных, являющихся зарезервированными. Переменные с такими именами называются системными. Они задаются после загрузки системы и могут использоваться в арифметических выражениях. Системные переменные могут быть переопределены, т.е. при небходимости им можно присвоить другие значения.
Ниже перечислены основные системные переменные MATLAB.
● ans – результат вычисления последнего не сохраненного пользователем выражения.
● i, j – мнимая единица (), используемая для задания мнимой части комплексных чисел.
● Inf (infinity) – обозначение машинной бесконечности.
● NaN – сокращение от слов Not-a-Number (не число), принятое для обозначения неопределенного результата (например, 0/0 или Inf/Inf).
● pi – число π (p=3,141592653589793).
● eps – погрешность операций над числами с плавающей точкой, т.е интервал между числом 1.0 и следующим ближайшим числом с плавающей точкой равен 2.2204e-16 или 2-52.
● realmin – минимальное по модулю вещественное число (2.2251e-308 или 2-1022).
● realmax – наибольшее по модулю вещественное число (1.7977e+308 или 21023).
Приоритеты арифметических операций системы MATLAB в порядке убывания следующие:
1. Возведение в степень < ^ >.
2. Умножение < * > и деление (слева направо < / >, справа налево < \ >).
3. Сложение <+> и вычитание <–>.
Выполнение операций одинакового приоритета происходит в порядке слева направо. Для изменения порядка выполнения арифметических операторов следует использовать круглые скобки. Кроме арифметических операторов, в MATLAB имеются операторы отношения и логические операторы.
Полный список операторов и справочную информацию по любому из них можно получить в разделе ops справочной системы MATLAB, используя команды help или doc.
Основу большинства расчетов составляют вычисления значений арифметических выражений. В них в качестве операндов могут выступать константы, переменные, стандартные и нестандартные функции. В отличие от большинства алгоритмических языков, в MATLAB допускается использование операндов–массивов. В этом случае, результатом вычисления выражения также может быть массив.
Выражения, помещенные между двумя апострофами (заключенные в символьные скобки ' '), рассматриваются как символьные и не вычисляются, даже если в них содержатся математические выражения. Чаще всего они применяются для задания параметров функций и их нечисловых значений, вставки текста в графические объекты, а также для описания символьных переменных и выражений. Так, ввод символьного выражения '2+3' приводит к результату:
>> '2+3'
ans =
2+3
а не 5.
При выводе графиков символы, помещенные между апострофами, определяют цвет линий графика, их тип и тип маркера, которым метятся линии.
Дата добавления: 2014-12-23; просмотров: 28 | Поможем написать вашу работу | Нарушение авторских прав |