【问题标题】:How do I plot inside a for loop? Matlab如何在 for 循环中绘图? MATLAB
【发布时间】:2018-12-02 04:37:20
【问题描述】:

我试图绘制一条从 x 中的点到不同 t 值的直线,从而在 for 循环中画一条线。但我在 MATLAB 中看不到我的图中生成的线条

以下是我的代码:

 t=linspace(0,8,11)
xs=(1.+t).^0.5
x0=xs./(1.+t)
m=size(t)
n=max(m)
hold on
for k=1:n
plot(x0(k),t(1:k),'-')
 hold on
end

谢谢

【问题讨论】:

  • @Cris 我不认为这是重复的。您的欺骗目标说明了为什么情节没有显示任何内容,但它并没有解决 OPs 问题。根据他的顶线,他想绘制一条从 x 到 t 的线。
  • @Rahul xt 都不是点,它们是值。他们的另一个坐标是什么?
  • @NickyMattsson:我可能误解了这个问题。重读,完全不明白题主的意思。

标签: matlab matlab-figure


【解决方案1】:

您不需要循环来执行绘图。

plot(x0,t,'-')

会工作得很好!除非你试图绘制点......使用scatter()

scatter(x0,t)

plot()scatter()(以及Matlab 的大部分函数)是用来与向量一起使用的,如果你习惯了传统的编程语言,可能需要一些时间来适应。正如您不需要循环来创建向量x0,您也不需要循环来使用plot()

【讨论】:

    【解决方案2】:

    您正在沿 X 轴上的一条线在 Y 轴上添加一个点,使用此代码

    t=linspace(0,8,11)
    xs=(1.+t).^0.5
    x0=xs./(1.+t)
    m=size(t)
    n=max(m)
    hold on
    for k=1:n
    plot(x0(1:k),t(1:k),'-')
    hold on
    end
    

    为了获得更多乐趣并查看 for 的具体执行方式,请使用此 for 循环

    for k=1:n
    pause('on')
    plot(x0(1:k),t(1:k),'-')
    hold on
    pause(2)
    end
    

    【讨论】:

      猜你喜欢
      • 2015-07-24
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 2016-09-29
      • 2016-02-20
      • 1970-01-01
      相关资源
      最近更新 更多