matlab不出图?
有没有大神帮我看看这是哪出了问题,程序没报错,但是出不了图l=7;n=10;x=-pi:0.0001:pi;T=0.9;Na=(2.*(1+exp(-n))).^(-1/...
有没有大神帮我看看这是哪出了问题,程序没报错,但是出不了图
l=7;
n=10;
x=-pi:0.0001:pi;
T=0.9;
Na=(2.*(1+exp(-n))).^(-1/2);
y=sqrt((1+0.5.*T.*n-exp(-n).*(0.5.*T.*n.*cos(4.*l.*x)+sin(2.*l.*x))-(abs(Na).^2).*T.*(1-exp(-n).*sin(2.*l.*x)).^2)/(4.*(abs(Na).^2).*T.*n.*exp(-2.*n).*(l.^2).*cos(2.*l.*x)));
plot(x,y)
xlabel('角度 \it\theta (rad)')
ylabel('灵敏度 \delta\theta') 展开
l=7;
n=10;
x=-pi:0.0001:pi;
T=0.9;
Na=(2.*(1+exp(-n))).^(-1/2);
y=sqrt((1+0.5.*T.*n-exp(-n).*(0.5.*T.*n.*cos(4.*l.*x)+sin(2.*l.*x))-(abs(Na).^2).*T.*(1-exp(-n).*sin(2.*l.*x)).^2)/(4.*(abs(Na).^2).*T.*n.*exp(-2.*n).*(l.^2).*cos(2.*l.*x)));
plot(x,y)
xlabel('角度 \it\theta (rad)')
ylabel('灵敏度 \delta\theta') 展开
2个回答
展开全部
程序里面y也是一个数组,y的值根据相应的x值会变,它这样做就是每次在y中添加一个元素,最后得到的y中的元素与x是一一对应的。如果用你的写法,y的值在循环中会不停地被覆盖掉,最后输出的y就是一个数,即x=10时的y值,所以这个方法是不对的,你可以换种写法。
x=[0:0.1:10];
y=zeros(1,101);
for
ii=1:101
if
x(ii)>=8
y(ii)=1;
elseif
x(ii)>=6
y(ii)=5-x(ii)/2;
elseif
x(ii)>=4
y(ii)=2;
elseif
x(ii)>=0
y=sqrt(x(ii));
end
end
plot(x,y)
这样应该也可以。
x=[0:0.1:10];
y=zeros(1,101);
for
ii=1:101
if
x(ii)>=8
y(ii)=1;
elseif
x(ii)>=6
y(ii)=5-x(ii)/2;
elseif
x(ii)>=4
y(ii)=2;
elseif
x(ii)>=0
y=sqrt(x(ii));
end
end
plot(x,y)
这样应该也可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询