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 14: Line 14:
| same '''complex''' type as ''xc''
| same '''complex''' type as ''xc''
|}
|}
 
:;<code>''rc''=cr2p(''xc'')</code>: Convert ''xc'' from cartesian (real, imaginary) to polar (length, phase) format.
:{|class="keinrahmen"
:;<code>''rc''=cp2r(''xc'')</code>: Convert ''xc'' from polar (length, phase) to cartesian (real, imaginary) format.
| '''<code>''rc''=cr2p(''xc'')</code>''' || ... convert ''xc'' from cartesian (real, imaginary) to polar (length, phase) format
:;<code>''rc''=conj(''xc'')</code>: Conjugate ''xc''; ''xc'' must be in cartesian format.
|-
| '''<code>''rc''=cp2r(''xc'')</code>''' || ... convert ''xc'' from polar (length, phase) to cartesian (real, imaginary) format
|-
| '''<code>''rc''=conj(''xc'')</code>''' || ... cojugate ''xc'' (''xc'' must be in cartesian format)
|}


;complex -> real:
;complex -> real:
Line 31: Line 26:
| same '''real''' type as ''xc''  
| same '''real''' type as ''xc''  
|}
|}
 
:;<code>''r''=cr2len(''xc''): Compute length of ''xc''; ''xc'' is stored in cartesian format.
:{|class="keinrahmen"
:;<code>''r''=cr2phi(''xc'')</code>: Compute phase of ''xc''; ''xc'' is stored in cartesian format.
| '''<code>''r''=cr2len(''xc'')</code>''' || ... compute length of ''xc''; ''xc'' is stored in cartesian format  
:;<code>''r''=cget(''xc'',0)</code>: Get real part or length of ''xc'' (depends on format of ''xc'').
|-
:;<code>''r''=cget(''xc'',1)</code>: Get imaginary part or phase of ''xc'' (depends on format of ''xc'').
| '''<code>''r''=cr2phi(''xc'')</code>''' || ... compute phase of ''xc''; ''xc'' is stored in cartesian format
|-
| '''<code>''r''=cget(''xc'',0)</code>''' || ... get real part or length of ''xc'' (depends on format of ''xc'')
|-
| '''<code>''r''=cget(''xc'',1)</code>''' || ... get imaginary part or phase of ''xc'' (depends on format of ''xc'')
|}


;real -> complex:
;real -> complex:
Line 53: Line 42:
| same '''complex''' type as ''x''  
| same '''complex''' type as ''x''  
|}
|}
 
:;<code>''rc''=cset(''x'',''y'')</code>: Combine elements of ''x'' (real part or length) and ''y'' (imaginary part or phase) to a complex numbers  
:{|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  
|}


;complex multiplication
;complex multiplication
:{|class="einrahmen"
:{|class="einrahmen"
!argument ''xc''  
!argument ''xc''  
| any complex type
| any complex type (re,im)
|-
!argument ''yc''
!argument ''yc''
| same type as 'xc'
|-
|-
| same type as 'xc'
!argument ''n''
!argument ''n''
|-
| a real or complex number (re,im)
| a real or complex number
|-
|-
!result ''rc''  
!result ''rc''  

Revision as of 13:39, 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.
rc=conj(xc)
Conjugate xc; xc must be in cartesian 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 elements of x (real part or length) and y (imaginary part or phase) to a complex numbers
complex multiplication
argument xc any complex type (re,im)
argument yc same type as 'xc'
argument n a real or complex number (re,im)
result rc same complex type as xc
rc=cmul(xc,n)
rc=cmul(n,xc)
Multiply each element of xc with the real or complex number n.
rc=cmul(xc,yc)
Multiply xc and yc element by element.
special functions
rc=cdot(xc,yc)
the result rc (complex number) is the dot product of the complex vectors xc and yc
rc=ctrn(xc)
the result rc is transposed matrix of the complex matrix xc


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