why i get 'complex double' type?
97 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
ali yaman
am 21 Jul. 2021
Kommentiert: ali yaman
am 22 Jul. 2021
Hi, i have below code. When run it i get kro as complex double.
Do you have any idea about why it is complex number, and how i can fix it.
By the way krw is not complex, just kro is complex.
thanx
swi=0.328; sor=0.205;
sw=linspace(swi,1-sor,100);
swd=(sw-swi)./(1-swi-sor);
kro=(1-swd).^2.56;
krw=0.78*(swd).^3.72;
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 21 Jul. 2021
Although algebraically the maximum swd value should be 1 exactly, because of round-off error it turns out to be just slightly greater than 1. Then 1 minus that can be just slightly negative. Negative raised to a fraction is complex.
Take min(swd, 1)
3 Kommentare
Walter Roberson
am 21 Jul. 2021
swd = min(swd, 1);
means the same thing as
for K = 1 : numel(swd)
if swd(K) > 1; swd(K) = 1; end
end
That is, at any time, you take the minimum of what is in swd, compared to the constant 1. Any swd entry that is greater than 1 will be reduced to 1.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!