Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Основные функции > Комплексные числа > complex

complex

Построение массива комплексных чисел по их частям

Синтаксис

c = complex(u)
c = complex(a, b)

Аргументы

u, a, b
скаляры, векторы, матрицы и гиперматрицы вещественных чисел. Если оба a и b не скаляры, то они должны быть одинакового размера.

c
Массив комплексных чисел того же размера, что и u или a и b. Если u является разрежённой, либо если a и b имеют одинаковые размеры и обе являются разрежёнными, то c является также разрежённой. В противном случае c является плотной.

Описание

c = complex(u) создаёт комплексное число из его реальной части u и нуля в качестве мнимой части.

c = complex(a, b) создаёт комплексное число из его реальной части a и мнимой части b.

Эта функция эквивалентна a + imult(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))
 

При специальных вещественной или/и мнимой частях:

r = [0   0    0 %inf %inf %inf %nan %nan %nan].';
i = [0 %inf %nan  0  %inf %nan   0  %inf %nan].';
[r, i]

// Затем сравним complex(r, i) и r + i*%i :
[complex(r,i), r+i*%i]
--> [r, i]
 ans  =
   0.    0.
   0.    Inf
   0.    Nan
   Inf   0.
   Inf   Inf
   Inf   Nan
   Nan   0.
   Nan   Inf
   Nan   Nan

// Затем сравним complex(r, i) и r + i*%i :
--> [complex(r,i), r+i*%i]
 ans  =
   0.  + 0.i    0.  + 0.i
   0.  + Infi   Nan + Infi
   0.  + Nani   Nan + Nani
   Inf + 0.i    Inf + 0.i
   Inf + Infi   Nan + Infi
   Inf + Nani   Nan + Nani
   Nan + 0.i    Nan + 0.i
   Nan + Infi   Nan + Infi
   Nan + Nani   Nan + Nani
 

Смотрите также

  • %i — мнимая единица
  • imult — умножение на мнимую единицу i

История

ВерсияОписание
6.1.1 Расширение до разрежённых массивов.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Jul 20 11:21:22 CEST 2021