为什么我的错误没有在matlab中显示?

时间:2018-02-21 20:40:49

标签: matlab plot

我试图绘制错误图,但是当我运行它时,它没有显示任何内容。

x = linspace(-10,10,100);
h = logspace(-1,-16,100);
error = (300);
figure(1);
hold on;
for i = 1:100
    error(i) = abs(1-(exp(h(i)-exp(h(i))))/(h(i)));
    plot(x,error(i));
end
disp([error']);

1 个答案:

答案 0 :(得分:1)

不是在for循环内执行计算和绘图操作,而是可以对整个过程进行矢量化,以获得正确的结果和更好的性能。只需记住将标量运算符转换为元素运算符,以避免大小一致性错误(例如,必须使用./而不是/)。

以下是代码:

x = linspace(-10,10,100);
h = logspace(-1,-16,100);
error = abs(1 - (exp(h - exp(h)) ./ h));
plot(x,error);

结果如下:

Result