Programmer Guide/Command Reference/EVAL/complex arithmetic: Difference between revisions
From STX Wiki
< Programmer Guide | Command Reference | EVAL
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. | |||
: | :;<code>''rc''=cp2r(''xc'')</code>: Convert ''xc'' from polar (length, phase) to cartesian (real, imaginary) format. | ||
:;<code>''rc''=conj(''xc'')</code>: Conjugate ''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. | |||
: | :;<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 | |||
: | |||
;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' | |||
|- | |- | ||
!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
cr2p
Convert Cartesian coordinates to Polar coordinates
Usage:
cr2p(xC)
Return Type:
like xC
complex numbers