Info
此问题已关闭。 请重新打开它进行编辑或回答。
Why is this wrong??
2 次查看(过去 30 天)
显示 更早的评论
Hello :) I'm trying to draw the plots for E=a*c when j = 1 and E = a*b when j assumes other values, all in the same figure. The program just draws the first one, for E=a*c, and I cant understand why because it computes all different E for all the j (computes but does not do the plot). Can you tell me what I'm doing wrong? Your help will be very appreciated! Thanks in advance!
hold on
for j = 1:i
tau = (12*v*t(j)*Myr)/ro^2;
I = besseli(0.25,2*x./tau);
a = (md/(2*pi*ro));
b = (tau^-1).*(x.^-1/4).*I.*exp(-(1+x.^2)/tau);
c = normpdf(x,1,0.05);
if j == 1
E = a.*c;
else
E = a.*b
end
plot(x, E.*(1/a), colors(j))
end
hold off
3 个评论
Christoph
2012-10-24
Weird since it works for me (R2008a, V7.6.0). Have you checked the output using subplot(2,3,j) at the start of the loop? since the value of E peaks at "8" in the 1st and <10^-12 in the other plots, so all together they appear as line... Otherwise, which Matlab release do you use?
回答(2 个)
Matt J
2012-10-24
Might be useful to change this
hold on
plot(x, E.*(1/a), colors(j))
to this
semilogy(x, E.*(1/a), colors(j));
hold on
0 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!