Действительные и комплексные числа
Действительные и комплексные числа
Число —
простейший объект языка 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.