如何在for循环中绘图?Matlab

如何在for循环中绘图?Matlab,matlab,matlab-figure,Matlab,Matlab Figure,我试着画一条从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 谢谢执行绘图时不需要循环 plot(x0,t,'-') 会很好用的!除非您试图绘制点,否则请使用scatter():

我试着画一条从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

谢谢

执行绘图时不需要循环

plot(x0,t,'-')
会很好用的!除非您试图绘制点,否则请使用
scatter()

scatter(x0,t)

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

也不需要循环来执行绘图

plot(x0,t,'-')
会很好用的!除非您试图绘制点,否则请使用
scatter()

scatter(x0,t)

plot()
scatter()
(以及大多数Matlab函数)用于向量,如果您习惯了传统编程语言,这可能需要一些时间来适应。正如创建向量时不需要循环一样,使用
plot()

时也不需要循环。如果要在Y轴上沿X轴上的直线添加一个点,请使用此代码

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

您正在沿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

@Cris的可能副本我不认为这是一个副本。你的被骗目标说了为什么图上什么都没有显示,但它并不能解决OPs问题。根据他的顶线,他想画一条从x到t的线。@Rahul
x
t
都不是点,而是值。他们的其他坐标是什么?@NickyMattsson:我可能误解了这个问题。重读一遍,我完全不明白问题是什么。可能是@Cris的重复我不认为这是重复。你的被骗目标说了为什么图上什么都没有显示,但它并不能解决OPs问题。根据他的顶线,他想画一条从x到t的线。@Rahul
x
t
都不是点,而是值。他们的其他坐标是什么?@NickyMattsson:我可能误解了这个问题。重读一遍,我完全不明白问题是什么。