Иллюстрированный самоучитель по Matlab

         

MATLAB в роли суперкалькулятора


Система MATLAB создана таким образом, что любые (подчас весьма сложные) вычисления можно выполнять в режиме

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

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

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

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

 для указания ввода исходных данных используется символ »; 

 данные вводятся с помощью простейшего строчного редактора;

для блокировки вывода результата вычислений некоторого выражения после него надо установить знак ; (точка с запятой);

если не указана переменная для значения результата вычислений, то MATLAB назначает такую переменную с именем ans;

 знаком присваивания является привычный математикам знак равенства =, а не комбинированный знак :=, как во многих других языках программирования и математических системах;

 результат вычислений выводится в строках вывода (без знака »);

 встроенные функции (например, sin) записываются строчными буквами, и их аргументы указываются в

круглых скобках;

 диалог происходит в стиле «задал вопрос — получил ответ».

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




вектора,

а не скаляра.

Две записи для вектора — V=[l 2 3 4] и V=[1,2,3.4] — являются идентичными. Таким образом, векторы задаются списком своих элементов, разделяемых пробелами или запятыми. Список заключается в квадратные скобки. Для выделения

п-

го элемента вектора V используется выражение V(n). Оно задает соответствующую индексированную переменную.

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





Рис. 2.12.



Простейшие операции с матрицей

Еще один пример (рис. 2.12) демонстрирует простейшие операции с матрицей. Здесь задана матрица М с размером 2x2 и вычислена матрица MX=sin(M).

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

Как видно из приведенных примеров, ввод исходных выражений для вычислений в системе MATLAB осуществляется в самом обычном текстовом формате. В этом же формате выдаются результаты вычислений, за исключением графических. Приведем пример записи вычислений, показанных на рис. 2.8 и 2.9:

То get started, select "MATLAB Help" from the Help menu. 

» 2+3 

ans=

5

» sin(l) 

ans=

0.8415

 » type sin

sin is a built-in function. 

» help sin 

SIN Sine.

SIN(X) is the sine'of the elements of X. 

Overloaded methods

help sym/sin.m



» V=[l 2 3 4] 

V =

1 2 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.^2 

ans=

1 4 9 16

» V+2 

ans =

3    4    5    6

»



Примечание


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

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


Содержание раздела