作业帮 > 综合 > 作业

MATLAB绘制分段函数报错,求大神解答(财富值有限请您见谅)

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/05/03 00:45:49
MATLAB绘制分段函数报错,求大神解答(财富值有限请您见谅)
x=0:0.01:3.2;
if x>=0&x=0.4&x=0.8&x=2&x=2.8&x plot
Vectors must be the same lengths.
MATLAB绘制分段函数报错,求大神解答(财富值有限请您见谅)
for i=1:321x(i)=(i-1)*0.01;   %%即x=0:0.01:320    if x(i)>=0&&x(i)<=0.4         y(i)=1.6/(3.^0.5)-(0.64/3-x(i).^2).^0.5     elseif x(i)>=0.4&&x(i)<=0.8        y(i)=(3.^0.5)*x(i);                  elseif  x(i)>=0.8&&x(i)<=2          y(i)=3.2/(3.^0.5)+(0.64/3-(x(i)-1.6).^2).^0.5;                      elseif  x(i)>=2&&x(i)<=2.8        y(i)=3.2*(3.^0.5)-(3.^0.5)*x(i);     elseif  x(i)>=2.8&&x(i)<=3.2          y(i)=1.6/(3.^0.5)-(0.64/3-(x(i)-3.2).^2).^0.5;    end                               %结束语句 end    plot(x,y)   
再问: 恩对了。不过还想再问一下, for i=1:321 x(i)=(i-1)*0.01; %%即x=0:0.01:320 为什么要这么处理? 还有y(i)可以换成y吗?求解释一下,灰常感谢
再答: for i=1:321 x(i)=(i-1)*0.01; 这样做保证一个数一个数的判断,x(i)代表的是x这个数组里的第i个数; 像你那样判断的话,程序无法识别你要干嘛。 y(i)不能换成y,同样的y(i)代表y这个数组里的第i个数,若是按你原来的写法,y永远只是一个数而已。