Unspecified behaviour of function imag.

조회 수: 2 (최근 30일)
Noah Tang
Noah Tang 2021년 11월 30일
답변: Walter Roberson 2021년 11월 30일
In version '9.10.0.1602886 (R2021a)', running
imag part
ans = 1×4
0 0 0 0
will return
[0 0 0 0]
ans = 1×4
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?

채택된 답변

Walter Roberson
Walter Roberson 2021년 11월 30일
This will not affect your code.
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개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by