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

## История

6.1.1 Расширение до разрежённых массивов.