Центральным понятием всех математических систем является математическое выражение. Оно задает то, что должно быть вычислено в численном (реже символьном) виде. Вот примеры простых математических выражений:
2+3 2.301*sin(x) 4+ехр(3)/5 sqrt(y)/2 sin(pi/2)
Математические выражения строятся на основе чисел, констант, переменных, операторов, функций и разных спецзнаков. Ниже даются краткие пояснения сути этих понятий.
Действительные и комплексные числа
Число — простейший объект языка MATLAB, представляющий количественные данные. Числа можно считать константами, имена которых совпадают с их значениями. Числа используются в общепринятом представлении о них. Они могут быть целыми, дробными, с фиксированной и плавающей точкой. Возможно представление чисел в хорошо известном научном формате с указанием мантиссы и порядка числа. Ниже приводятся примеры представления чисел:
0
2 -3 2.301 0.00001 123.45бе-24 -234.456е10
Как нетрудно заметить, в мантиссе чисел целая часть отделяется от дробной не запятой, а точкой, как принято в большинстве языков программирования. Для отделения порядка числа от мантиссы используется символ е. Знак «плюс» у чисел не проставляется, а знак «минус» у числа называют унарным минусом. Пробелы между символами в числах не допускаются. Числа могут быть комплексными: z =Rе(x)+Im(x)*i. Такие числа содержат действительную Re(z) и мнимую Im(z) части. Мнимая часть имеет множитель i или j, означающий корень квадратный из -1: 3i
2j
2+3i -3.141i -123.456+2.7e-3i Функция real (z) возвращает действительную часть комплексного числа, Re(z), a функция imag(z) — мнимую, Im(z). Для получения модуля комплексного числа используется функция abs(z), а для вычисления фазы — angle(Z). Ниже даны простейшие примеры работы с комплексными числами: »i ans= 0 +1.0000i » j ans = 0 + 1.0000i
» z=2+3i
z = 2.0000 + 3.0000i
» abs(z)
ans = 3.6056
» real(z)
ans= 2 » imag(z)
ans = 3 » angle(z)
ans = 0.9828
В MATLAB не принято делить числа на целые и дробные, короткие и длинные и т. д., как это принято в большинстве языков программирования, хотя задавать числа в таких формах можно. Вообще же операции над числами выполняются в формате, который принято считать форматом с двойной точностью. Такой формат удовлетворяет подавляющему большинству требований к численным расчетам, но совершенно не подходит для символьных вычислений с произвольной (абсолютной) точностью. Символьные вычисления MATLAB может выполнять с помощью специального пакета расширения Symbolic Math Toolbox.
Константы и системные переменные
Константа — это предварительно определенное числовое или символьное значение, представленное уникальным именем. Числа (например 1, -2 и 1.23) являются безымянными числовыми константами. Другие виды констант в MATLAB принято назвать системными переменными, поскольку, с одной стороны, они задаются системой при ее загрузке, а с другой — могут переопределяться. Основные системные переменные, применяемые в системе MATLAB, указаны ниже:
· i или j — мнимая единица (корень квадратный из -1);
· pi - число п - 3.1415926...;
· eps — погрешность операций над числами с плавающей точкой (2- 52 );
· realmin — наименьшее число с плавающей точкой (2- 1022 );
· realmax — наибольшее число с плавающей точкой (2 1023 );
· inf — значение машинной бесконечности;
· ans — переменная, хранящая результат последней операции и обычно вызывающая его отображение на экране дисплея;
· NaN — указание на нечисловой характер данных (Not-a-Number).
Вот примеры применения системных переменных: »
2*pi ans = 6.2832
» eps
ans = 2.2204е-016
» real min
ans= 2.2251e-308
» realmax
ans= 1.7977e+308
» 1/0 Warning: Divide by zero,
ans= Inf » 0/0 Warning: Divide by zero,
ans = NaN Как отмечалось, системные переменные могут переопределяться. Можно задать системной переменной eps иное значение, например eps=0.0001. Однако важно то, что их значения по умолчанию задаются сразу после загрузки системы. Поэтому неопределенными в отличие от обычных переменных системные переменные не могут быть никогда. Символьная константа — это цепочка символов, заключенных в апострофы, например: 'Hello my friend!' 'Привет' '2+3' Если в апострофы помещено математическое выражение, то оно не вычисляется и рассматривается просто как цепочка символов. Так что ' 2+3' не будет возвращать число 5. Однако с помощью специальных функций преобразования символьные выражения могут быть преобразованы в вычисляемые. Соответствующие функции преобразования будут рассмотрены в дальнейшем.
Текстовые комментарии
Поскольку MATLAB используется для достаточно сложных вычислений, важное значение имеет наглядность их описания. Она достигается, в частности, с помощью текстовых комментариев. Текстовые комментарии вводятся с помощью символа %, например так: Bit is factorial function