Создание комплексного числа.
c=complex(a) c=complex(a,b)
вещественная матрица значений двойной точности размером 1 на 1 или
n на m, реальная часть.
Если a имеет мнимую часть, то сформируется ошибка.
вещественная матрица значений двойной точности размером 1 на 1 или
n на m, реальная часть (по умолчанию
b=0).
Если b имеет мнимую часть, то сформируется ошибка.
комплексная матрица значений двойной точности размером n на
m, комплексное число.
c=complex(a) создаёт комплексное число из его реальной части
a и нуля в качестве мнимой части.
c=complex(a,b) создаёт комплексное число из его реальной части
a и мнимой части b.
Эта функция является заменой для таких выражений как a+%i*b,
особенно в случаях, когда комплексная арифметика пересекается с особыми числами с
плавающей запятой, такими как %inf или %nan.
В следующем примере мы создадим комплексное число из его реальной и мнимой части.
Если определено только a, то мнимая часть устанавливается равной нулю.
Если a является скаляром, а b
является матрицей, то результат c имеет тот же размер, что и
b.
Аналогично, если a является матрицей, а b является
скаляром, то результат c имеет тот же размер, что и
a.
Если a и b являются матрицами разных размеров,
то сформируется ошибка, как в следующем примере.
-->complex(ones(2,3),ones(4,5)) !--error 10000 complex: Несовместимые входные параметры №1 и №2: ожидались одинаковые размеры. at line 33 of function complex called by : complex(ones(2,3),ones(4,5))
Целью функции complex является управление числами с плавающей запятой,
такими как нечисловые значения (Nan) или бесконечность
(Inf).
На следующем примере мы покажем, что создание комплексного числа, у которого
реальная и мнимая части являются комплексными, не простое дело, если мы используем
комплексную арифметику. Это из-за того, что произведение %i на
%inf вычисляется как (0+%i) * (%inf+%i*0).
Это даёт промежуточное выражение 0*%inf, которое равно %nan.
-->%inf+%i*%inf
ans =
Nan + Inf
Решением этой проблемы является использование функции complex.
-->complex(%inf,%inf)
ans =
Inf + Inf