Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

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

1 vue (au cours des 30 derniers jours)
Abdulaziz
Abdulaziz le 16 Juil 2012
Hi Everybody,
I want to plot gp vs. q in the following code:
kab=3;
kba=3;
gp=0.0:0.0001:1.25;
gn=0.0:0.0001:1.25;
DeltaB=8.296;
H=((i*gp./2)-(i*gn./2))./((DeltaB./2)-i*gn./2);
q=sqrt(((DeltaB./2).^2-kab*kba-(DeltaB./2).*(i*gp./2+i*gn./2)-gp.*gn./4)./(1-H.*1));
T=10*log10((abs(q.*1)).^2./(abs((q.*cosh(-q.*i))+((DeltaB./2-i*gn./2).*sinh(-q.*i)))).^2.);
plot(gp,q,'r')
grid on
q has real and imaginary part, but I got only the real part, and the code said:
Warning: Imaginary parts of complex X and/or Y arguments ignored
Any help please
  2 commentaires
Jan
Jan le 17 Juil 2012
Beside using meaningful tags (all questions concern Matlab here!), formatting your code would be helpful also: Answers: how-to-format-your-question-with-markup

Réponses (2)

Wayne King
Wayne King le 17 Juil 2012
What do you think you only have the real part?
kab=3;
kba=3;
gp=0.0:0.0001:1.25;
gn=0.0:0.0001:1.25;
DeltaB=8.296;
H=((i*gp./2)-(i*gn./2))./((DeltaB./2)-i*gn./2);
q=sqrt(((DeltaB./2).^2-kab*kba-(DeltaB./2).*(i*gp./2+i*gn./2)-gp.*gn./4)./(1-H.*1));
T=10*log10((abs(q.*1)).^2./(abs((q.*cosh(-q.*i))+((DeltaB./2-i*gn./2).*sinh(-q.*i)))).^2.);
plot(gp,real(q),'r')
You are using the unit imaginary, i, in both H and both q.

Walter Roberson
Walter Roberson le 10 Août 2012

Cette question est clôturée.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by