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

为什么我的错误没有在matlab中显示?,matlab,plot,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']); 不必在for循环中执行计算和打印操作,您可以将整个

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

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']);

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

代码如下:

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

Per:如果X或Y中的一个是标量,另一个是标量或向量,则plot函数将绘制离散点。但是,要查看这些点,必须指定标记符号,例如plotX、Y和“o”。