Documentation Center

  • Trial Software
  • Product Updates

Handle Complex Data

MATLAB® stores complex double-precision data as two vectors of numbers—one vector contains the real data and the other contains the imaginary data. The functions mxCopyPtrToComplex16 and mxCopyComplex16ToPtr copy MATLAB data to a native complex*16 Fortran array.

The example convec.F takes two complex vectors (of length 3) and convolves them. To see the source code, open the fileopen the file in MATLAB Editor.

To build this example, at the command prompt type:

mex convec.F

Enter the following at the command prompt:

x = [3 - 1i, 4 + 2i, 7 - 3i];
y = [8 - 6i, 12 + 16i, 40 - 42i];

Type:

z = convec(x, y)

MATLAB displays:

z =

   1.0e+02 *

  Columns 1 through 4 

   0.1800 - 0.2600i   0.9600 + 0.2800i   1.3200 - 1.4400i 
   3.7600 - 0.1200i

  Column 5 

   1.5400 - 4.1400i

which agrees with the results the built-in MATLAB function conv.m produces.

Was this topic helpful?