
What am I doing wrong here? I am trying to recreate following highlighted equations in the table.
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Nissal Arachchige
il 26 Mar 2021
Commentato: Paul Hoffrichter
il 28 Mar 2021


ep = linspace(0,1);
m1 = 1.5; m2 = 3.8;
ep0= 1; alpha = 0.785; epp = 0.11;
qep = (2.76*ep*cosh((3*ep)-1.92));
I1 = ep.^ m1;
I2 = ep.^ m2;
I3 = ep*((ep-epp)/(ep0-epp)).^alpha;
I6 = 1-(qep*((3*(1-ep))/(3-ep)));
Hold on
plot(ep,I1)
plot(ep,I2)
plot(ep,I3)
plot(ep,I6)
Hold off
0 Commenti
Risposta accettata
Paul Hoffrichter
il 27 Mar 2021
Modificato: Paul Hoffrichter
il 27 Mar 2021
clc; clear; clf
ep = linspace(0,1);
m1 = 1.5; m2 = 3.8;
ep0= 1; alpha = 0.785; epp = 0.11;
qep = (2.76*ep.*cosh((3*ep)-1.92));
I1 = ep.^ m1;
I2 = ep.^ m2;
zz = (ep-epp)/(ep0-epp);
zza = zz .^ alpha; % zza is complex
I3 = ep .* zza;
I6 = 1-(qep*((3*(1-ep))/(3-ep)));
hold on
plot(ep,I1);
plot(ep,I2)
plot(ep,I3) % This is Line 18 - usually do not plot a complex vector like this
plot(ep,I6)
hold off
warning:
Warning: Imaginary parts of complex X and/or Y arguments ignored.
> In Untitled (line 18)

4 Commenti
Paul Hoffrichter
il 28 Mar 2021
I was a surprised at first about the complex numbers. But then I thought about what if alpha was 0.5 instead of 0.785. Then if x is a negative number, we have a purely imaginary result for x^(.5)=sqrt(x)= sqrt{(-1) * abs(x)} = 0 + j*sqrt(abs(x)). For other values of alpha between (0.5, 1.0), we get complex numbers.

Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!