Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
complex
Create a complex number.
Calling Sequence
c=complex(a) c=complex(a,b)
Arguments
- a
- a 1-by-1 or a n-by-m real matrix of doubles, the real part. If - ahas an imaginary part, an error is generated.
- b
- a 1-by-1 or a n-by-m real matrix of doubles, the imaginary part (default b=0). If - bhas an imaginary part, an error is generated.
- c
- a n-by-m complex matrix of doubles, the complex number. 
Description
c=complex(a) creates a complex number from its real part a 
            and zero as the imaginary part.
c=complex(a,b) creates a complex number from its real part a 
            and imaginary part b.
This function is a substitute for expressions such as a+%i*b,
            especially in cases where the complex arithmetic interferes with particular
            floating point numbers such as %inf or
            %nan.
Examples
In the following example, we create a complex number from its real and imaginary parts.
complex(1,2) complex([1 2],[3 4])
If a only is specified, then the imaginary 
            part is set to zero.
complex([1 2 3])
If a is a scalar and b 
            is a matrix, then the result c has the same 
            size as b.
            Similarly, if b is a scalar and a 
            is a matrix, then the result c has the same 
            size as a.
c = complex([1 2 3], 4) c = complex(1, [2 3 4])
If a and b are two 
            matrices with different sizes, an error is generated, as in the 
            following session.
-->complex(ones(2,3),ones(4,5)) !--error 10000 complex: Incompatible input arguments #1 and #2: Same sizes expected. at line 33 of function complex called by : complex(ones(2,3),ones(4,5))
The purpose of the complex function is to manage 
            IEEE floating point numbers such as Nans or Infinities. 
            In the following example, we show that creating a complex number where
            the real and imaginary parts are complex is not straightforward if
            we use the complex arithmetic.
            This is because the product %i times %inf
            is evaluated as (0+%i) * (%inf+%i*0).
            This produces the intermediate expression 0*%inf,
            which is %nan.
 
-->%inf+%i*%inf
 ans  =
    Nan + Inf 
 The solution of this issue is to use the complex
            function.
 
-->complex(%inf,%inf)
 ans  =
    Inf + Inf 
 See Also
- imult — multiplication by i the imaginary unitary
| Report an issue | ||
| << real | Nombres complexes | imult >> |