我试图绘制错误图,但是当我运行它时,它没有显示任何内容。
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);
结果如下: