代码之家  ›  专栏  ›  技术社区  ›  mahmood

使用for循环时为空绘图

  •  -1
  • mahmood  · 技术社区  · 7 年前

    我想使用 for 循环以绘制函数。代码为

    y = 0;
    for k = 0:0.1:2
        y = y + k;
        plot(k, y);
        hold on;
    end
    

    但是,通过运行代码,绘图窗口为空!为了在2D区域上看到一条线,我如何解决这个问题?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Nicky Mattsson    7 年前

    Matlab自动绘制给定给 plot 作用因此,由于只给出一个点,因此不会发生插值。

    你能做的就是拯救老人 y 价值与旧 x 值,要求Matlab绘制这两点之间的线性插值。e、 g。

    yold = 0; %Init
    kold=0; %Init
    for k = 0:0.1:2
        y = yold + k; %New y value
        plot([kold,k], [yold,y]); %Plot a linear interpolation
        kold = k; %Save the new values as old
        yold = y; %Same
        hold on;
    end
    

    编辑/注释:

    当向同一窗口添加新的绘图时,MATLAB会自动更改颜色,因此上面的内容将为您提供一个彩虹,这很好,但如果您想保持其专业性,可以向plot命令添加颜色,例如。

    plot([kold,k], [yold,y],'blue');
    
    推荐文章