Matlab plot函数绘制多项式图形异常:X轴未达预期范围咨询
问题根源&解决方案
嘿,这个问题其实很好找原因——你生成x轴数据的linspace参数设置错啦!
看你代码里的这行:
a = linspace(-3, 0.1, 3);
linspace(start, end, num)的作用是生成从start到end的num个均匀分布的数值。你这里把结束值设成了0.1,所以变量a里的所有数据都只在-3到0.1这个区间里,绘图的时候Matlab自然只会显示这个范围的x轴,根本不会到3嘛~
两种快速解决方法
- 方法1:修改linspace的结束值(推荐)
如果你本来就想绘制-3到3区间的多项式曲线,直接把linspace的第二个参数改成3,同时可以适当增加点数(比如从3改成100),让曲线更平滑:
a = linspace(-3, 3, 100); % 生成-3到3之间的100个均匀采样点 plot(a, a.^3 - 3*a - 2); ax = gca; c = ax.Color; grid on;
- 方法2:强制设置x轴显示范围
如果你的数据范围不需要改变,但就是想让x轴显示到3,可以用xlim函数手动指定:
a = linspace(-3, 0.1, 3); plot(a, a.^3 - 3*a - 2); ax = gca; c = ax.Color; grid on; xlim([-3, 3]); % 强制将x轴显示范围设为-3到3
不过这种方法下,你的曲线还是只有-3到0.1的部分,右边会是空的,所以更推荐第一种方法哦。
内容的提问来源于stack exchange,提问作者Taln
相关产品推荐
相关产品推荐

