Unspecified behaviour of function imag.
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Noah Tang
el 30 de Nov. de 2021
Respondida: Walter Roberson
el 30 de Nov. de 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 comentarios
Respuesta aceptada
Walter Roberson
el 30 de Nov. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!