Programmer Guide/Command Reference/EVAL/complex arithmetic: Difference between revisions

From STX Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 5: Line 5:
* A numerical object containing '''N x M''' complex numbers (N>=1, M>=1), consists of 2N rows and M columns, because each complex number uses two cells of a row.
* A numerical object containing '''N x M''' complex numbers (N>=1, M>=1), consists of 2N rows and M columns, because each complex number uses two cells of a row.
* If a numerical object containing '''N x M''' complex numbers, is converted element-wise to real numbers, the resulting object consists of N rows and M columns.
* If a numerical object containing '''N x M''' complex numbers, is converted element-wise to real numbers, the resulting object consists of N rows and M columns.


;complex -> complex:
;complex -> complex:
Line 21: Line 20:
| '''<code>''rc''=cp2r(''xc'')</code>''' || ... convert ''xc'' from polar (length, phase) to cartesian (real, imaginary) format
| '''<code>''rc''=cp2r(''xc'')</code>''' || ... convert ''xc'' from polar (length, phase) to cartesian (real, imaginary) format
|}
|}


;complex -> real:
;complex -> real:
Line 42: Line 40:
|}
|}


;real -> complex:
:{|class="einrahmen"
!argument ''x''
| any real type
!argument ''y''
! same type as ''x''
|-
!result ''rc''
| same ''complex'' type as ''x''
|}


:{|class="keinrahmen"
| '''<code>''rc''=cset(''x'',''y'')</code>''' || ... combine ''x'' (real part or length) and ''y'' (imaginary part or phase) elements to a complex numbers
|}


;Usage: '''<code>cp2r(<var>xc</var>)</code>''' ... convert from polar to cartesian format
:;<var>xc</var>: a complex scalar, vector or matrix in polar format (length, phase)
;Result: same type as ''xc'', but the complex numbers are stored in the cartesian format (real part, imaginary part)
;Usage: '''<code>cr2len(<var>xc</var>)</code>''' ... convert cartesian format to length (amplitude)
:;<var>xc</var>: a complex scalar, vector or matrix in polar format (length, phase)
;Result: same type as ''xc'', but the complex numbers are stored in the cartesian format (real part, imaginary part)
r with same length as ''x'' containing the converted window function





Revision as of 13:59, 7 April 2011

Because the current version of the STx EVAL command do not support a complex data type, a package of functions is used to implement arithmetic and special handling for complex numbers.

Note:

  • A numerical object containing N x M complex numbers (N>=1, M>=1), consists of 2N rows and M columns, because each complex number uses two cells of a row.
  • If a numerical object containing N x M complex numbers, is converted element-wise to real numbers, the resulting object consists of N rows and M columns.
complex -> complex
argument xc any complex type
result rc same complex type as xc
rc=cr2p(xc) ... convert xc from cartesian (real, imaginary) to polar (length, phase) format
rc=cp2r(xc) ... convert xc from polar (length, phase) to cartesian (real, imaginary) format
complex -> real
argument xc any complex type
result r same real type as xc
r=cr2len(xc) ... compute length of xc; xc is stored in cartesian format
r=cr2phi(xc) ... compute phase of xc; xc is stored in cartesian format
r=cget(xc,0) ... get real part or length of xc (depends on format of xc)
r=cget(xc,1) ... get imaginary part or phase of xc (depends on format of xc)
real -> complex
argument x any real type argument y same type as x
result rc same complex type as x
rc=cset(x,y) ... combine x (real part or length) and y (imaginary part or phase) elements to a complex numbers


See also
window, fft

<function list>


cr2p

Convert Cartesian coordinates to Polar coordinates

Usage:

cr2p(xC)

Return Type:

like xC


complex numbers

Navigation menu

Personal tools