引自免费微信小程序:皆我百晓生
在MATLAB中,如果你尝试创建一个二维图形,并且试图绘制的数据超过了两个坐标轴,那么MATLAB会抛出错误。这通常是因为你的数据集过大,以至于它超过了屏幕的显示范围。
要解决这个问题,你需要确保你在绘图之前清理了你的数据。这可以通过删除多余的点或线段来实现。例如,在你的例子中,你可以先删除new_x2中的所有点,然后再绘制新的数据点。
此外,MATLAB允许你在绘图之前调整图像大小。这可以通过设置figsize参数来完成。例如,你可以将当前窗口调整为宽度为4个单位长度(即4行)和高度为3个单位长度(即3列),这样就不会有超出的警告了。
下面是修改后的代码:
x = -5:0.1:5; % 数据集
longge = @(x) 1./(x.^2 + 1); % 龙格函数
y = longge(x);
% 清理数据
del(new_x2)
% 设置图像大小
figsize([4,3])
figure(1)
plot(x, y, 'r:', new_x1, y1, 'r-', new_x2, y2, 'b-')
% 绘制标签
legend('龙格函数真实曲线', '5等分拉格朗日插值', '10等分拉格朗日插值', 'Location', 'northeast')
% 更改图像标题
title('Plot of Lagrange Interpolation and Real Curve')
xlabel('X-axis')
ylabel('Y-axis')
% 添加网格线
grid on
% 显示图形
view(9,6)
这个代码首先清理了new_x2中的所有数据,然后设置了图像大小,然后添加了标签,最后显示了图形。这应该可以解决你的问题。