Текстовые комментарии. Переменные и присваивание им значений. Уничтожение определений переменных.
Поскольку MATLAB используется для достаточно сложных вычислений, важное значение имеет наглядность их описания. Она достигается, в частности, с помощью текстовых комментариев. Текстовые комментарии вводятся с помощью символа %, например так:
%Bit is factorial function
Примечание
В каждой большой программе есть свои >>ложки дегтя>>. В MATLAB 6 такой >>ложкой дегтя>> является перевод строки при вводе буквы >>с>> русского алфавита в командной строке. В итоге ввод комментариев в командной строке на русском языке превращается в проблему. Пока автор может порекомендовать заменять русское >>с>> на английское, что на виде текстового комментария никак не сказывается. Не рекомендуется вводить русскоязычные комментарии и в тесты m-файлов при подготовке их в редакторе/отладчике (он будет описан позже). Это нередко делает программы неработоспособными. Жаловаться тут бесполезно – MATLAB англоязычный продукт и официальной локализованной под Россию версии этой системы пока нет.
Обычно первые строки m-файлов служат для описания их назначения, которое выводится на экран дисплея после команды help Имя_файла.
Считается правилом хорошего тона вводить в m-файлы достаточно подробные текстовые комментарии. Без таких комментариев даже разработчик программных модулей быстро забывает о сути собственных решений. В текстовых комментариях и в символьных константах могут использоваться буквы русского алфавита – при условии, что установлены содержащие эти буквы наборы шрифтов (см. примечание. выше).
Переменные и присваивание им значений
Переменные – это имеющие имена объекты, способные хранить некоторые, обычно разные по значению, данные. В зависимости от этих данных переменные могут быть числовыми или символьными, векторными или матричными.
В системе MATLAB можно задавать переменным определенные значения. Для этого используется операция присваивания, вводимая знаком равенства =:
Имя_переменной
=
Выражение
Типы переменных заранее не декларируются. Они определяются выражением, значение которого присваивается переменной. Так, если это выражение – вектор или матрица, то переменная будет векторной или матричной.
Имя переменной (ее идентификатор) может содержать сколько угодно символов, но запоминается и идентифицируется только 31 начальный символ. Имя любой переменной не должно совпадать с именами других переменных, функций и процедур системы, т. е. оно должно быть уникальным. Имя должно начинаться с буквы, может содержать буквы, цифры и символ подчеркивания _. Недопустимо включать в имена переменных пробелы и специальные знаки, например +,., -, *, / и т. д., поскольку в этом случае правильная интерпретация выражений становится невозможной.
Желательно использовать содержательные имена для обозначений переменных, например speed_1 для переменной, обозначающей скорость первого объекта. Переменные могут быть обычными и индексированными, то есть элементами векторов или матриц (см. выше). Могут использоваться и символьные переменные, причем символьные значения заключаются в апострофы, например s='Demo'.
Уничтожение определений переменных
В памяти компьютера переменные занимают определенное место, называемое рабочей областью (workspace). Для очистки рабочей области используется функция clear в разных формах, например:
- clear – уничтожение определений всех переменных;
- clear x – уничтожение определения переменной х;
- clear a, b, с – уничтожение определений нескольких переменных.
Уничтоженная (стертая в рабочей области) переменная становится неопределенной. Использовать неопределенные переменные нельзя, и такие попытки будут сопровождаться выдачей сообщений об ошибке. Приведем примеры задания и уничтожения переменных:
>
>
x
=
2
*
pi
x
=
6.2832
>
>
V
=
[l
2345
]
V
=
12345
>
>
MAT
??? Undefined
function
or variable
'MAT'
.
>
>
MAT
=
[
1
2
3
4
;
5
6
7
8
]
MAT
=
1234
5678
>
>
clear V
>
>
V
??? Undefined
function
or variable
'V'
.
>
>
clear
>
>
x
??? Undefined
function
or variable
'x'
.
>
>
M
??? Undefined
function
or variable
'M'
.
Обратите внимание на то, что сначала выборочно стерта переменная V, а затем командой clear без параметров стерты все остальные переменные.