Unspecified behaviour of function imag.
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Noah Tang
il 30 Nov 2021
Risposto: Walter Roberson
il 30 Nov 2021
In version '9.10.0.1602886 (R2021a)', running
imag part
will return
[0 0 0 0]
I accidentally found this when trying to type "imagpart". How does this happen? Will it affect our program in other unanticipated ways?
0 Commenti
Risposta accettata
Walter Roberson
il 30 Nov 2021
This will not affect your code.
You are encountering Command/Function Duality https://www.mathworks.com/help/matlab/matlab_prog/command-vs-function-syntax.html
When you call
imag part
that is the same as if you had invoked
imag('part')
which is calling imag() on the vector of four characters, 'p', 'a', 'r', 't' .
In many circumstances, characters automatically convert to the numeric codes used to internally encode the characters, such as 112 for 'p', and 97 for 'a' . So imag() treats this as a vector of real-valued double precision numbers. But the imaginary() portion of those is all 0 so 0 0 0 0 gets returned.
0 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!