Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
complex
Создание комплексного числа.
Последовательность вызова
c=complex(a) c=complex(a,b)
Аргументы
- a
вещественная матрица значений двойной точности размером 1 на 1 или
n
наm
, реальная часть. Еслиa
имеет мнимую часть, то сформируется ошибка.- b
вещественная матрица значений двойной точности размером 1 на 1 или
n
наm
, реальная часть (по умолчаниюb=0
). Еслиb
имеет мнимую часть, то сформируется ошибка.- c
комплексная матрица значений двойной точности размером
n
наm
, комплексное число.
Описание
c=complex(a)
создаёт комплексное число из его реальной части
a
и нуля в качестве мнимой части.
c=complex(a,b)
создаёт комплексное число из его реальной части
a
и мнимой части b
.
Эта функция является заменой для таких выражений как a+%i*b
,
особенно в случаях, когда комплексная арифметика пересекается с особыми числами с плавающей запятой, такими как %inf
или %nan
.
Примеры
В следующем примере мы создадим комплексное число из его реальной и мнимой части.
complex(1,2) complex([1 2],[3 4])
Если определено только a
, то мнимая часть устанавливается равной нулю.
complex([1 2 3])
Если a
является скаляром, а b
является матрицей, то результат c
имеет тот же размер, что и
b
.
Аналогично, если a
является матрицей, а b
является
скаляром, то результат c
имеет тот же размер, что и
a
.
c = complex([1 2 3], 4) c = complex(1, [2 3 4])
Если 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
Смотрите также
- imult — умножение на мнимую единицу i
Report an issue | ||
<< Комплексные числа | Комплексные числа | conj >> |