how to fix Warning: Imaginary parts of complex X and/or Y arguments ignored

8 ビュー (過去 30 日間)
Faria Siddiqui
Faria Siddiqui 2021 年 4 月 1 日
編集済み: Paul Hoffrichter 2021 年 4 月 2 日
plot(V,y(:,1),V,y(:,2),V,y(:,3),V,y(:,4),V,y(:,5),V,y(:,6));
This is the line of code the warning pops up for.
my initial conditions are
% yo = [Fa,Fb,Fc,Fd,Fe,Ff,T,x,P]
yo = [9.614 19.435 0 0 35.03391 0 870 0 101.325]
and my V is calculated by
V = ((FA+FB+FC+FD+FE+FF)*R*T)/P
hope someone can help with this!
  1 件のコメント
Walter Roberson
Walter Roberson 2021 年 4 月 1 日
My prediction is that P is not a scalar, so the / operator is "matrix right divide", which is similar to
V = ((FA+FB+FC+FD+FE+FF)*R*T) * pinv(P)
Is that the intention?
Anyhow, look at
whos FA FB FC FD FE FF P R T V
and you will see that at least one of them is marked as complex; you will need to trace your code to figure out which one.

サインインしてコメントする。

回答 (1 件)

Paul Hoffrichter
Paul Hoffrichter 2021 年 4 月 2 日
編集済み: Paul Hoffrichter 2021 年 4 月 2 日
If you have a negative number raised to a non-integer power, you can sometimes get a complex number. Take a look at:
In this case, there was a very small percentage of complex numbers. Maybe the plot routine knew what was best for the writer by converting automatically the complex numbers to real. The other numbers were real. Matlab is a smart cookie.

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by