semilogy, loglog 不起作用,无法将 y 轴设置为对数刻度

semilogy, loglog do not work in order to set the y axis on a logarithmic scale

我正在研究一种数值算法,我想绘制函数的 5 个不同形状参数的误差。我希望所有的图都在同一张图上。

这是我使用的代码:

figure
hold on
for i=3:7
    [coord_ctrs, errors] = ApproxAdap1D(i);
    
    semilogy(coord_ctrs, (errors));
    title("Senkung des RMS Fehlers");
grid;
end

结果:

如你所见,它不起作用,y轴没有对数刻度。 loglog 函数也显示相同的结果。

问题出在figure; hold on;创建一个线性图形,然后将后续绘图添加到线性轴。

您应该将轴设置为显式记录。

How to make a log plot in matlab

开始

set(gca,'XScale','log')