MATLAB绘分段函数图像
问题描述:
为什么执行出来有问题,求解
x=(-5:0.001:5);
y=zeros(size(x));
for i=length(x)
if x(i)<=-1
y(i)=-x^2+1;
elseif x(i)>-1&&x(i)<1
y(i)=0;
else x(i)>=1
y(i)=x^2-1;
end
end
plot(x,y)
title('Plot of XY');
xlabe1('x');
ylabel('y');
答
你干脆这样吧:
clc; clear
x = -5:0.001:5;
y = (x.^2-1).*(x>=1) + 0.*(x<1&x>-1) + (-x.^2+1).*(x<=-1);
plot(x,y,'r-');
xlabel('x');
ylabel('y');
答
判断语句后面跟的表达式y(i)对应的是x(i),而不是x
答
也可以这样:
clc;clear
x=(-5:0.001:5);
y=zeros(size(x));
for i=1:1:length(x)%这个地方修改了一下
if x(i)<=-1
y(i)=-x(i)^2+1;%这个地方修改了一下
elseif x(i)>-1&&x(i)<1
y(i)=0;
elseif x(i)>=1
y(i)=x(i)^2-1;%这个地方修改了一下
end
end
plot(x,y)
title('Plot of XY');
xlabel('x');%这个地方修改了一下
ylabel('y');
答
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632