matlab如何画一个分段函数?

比如现在有个函数y=x^3+x^2-10
我希望在y=0及y<0时,x>0的部分函数值为0,请问应该怎么操作?

代码出错的原因:由于计算sum(Br)得到不是一个数值,而是含有未知x变量,而plot绘图函数是不支持非数值数据,所以无法完成绘图任务。

代码分析和疑惑:

1、由于x值不明确,所以无法用分段函数求出Br值;

2、设置afa为数组,好像是没有理由的,我认为afa应该是一个数

3、输出sum(Br)值,应储存到BBB数组里,而不是赋值给BBB变量(因为最后显示只有一个数)

修改代码后,可以得到如下图形。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-08-27

分段函数分段画,用hold on画在同一坐标系下就行。


x1=0:0.01:1.86;

y1=x1*0;

x2=1.86:0.01:5;

y2=x2.^3+x2.^2-10;

plot(x1,y1,'b-','LineWidth',1.5);

hold on;

plot(x2,y2,'b-','LineWidth',1.5);

本回答被提问者采纳
第2个回答  2020-08-30