ODE动画图

Animated graph of ODE

我正在尝试通过从 2 列向量中绘制特定点来创建动画图,但我遇到了问题。

我已经尝试使用暂停、绘制、更改我的向量,但我的代码仍然无法正常工作。我在 for 循环中得到了我的矢量,它指定了需要绘制的点。

我使用 ODE45 制作了一个包含 2 行的列向量。

grid on
func=plot(t,x);
%set(gca,'XLim',[0 tmax])
for i=1:length(x)
    set(func,'XData',x(1,i),'YData',x(2,i));
    drawnow
end

我希望输出是一个动画图,但目前,我得到的不是一个非动画图,就是一堆错误,说我超出了数组边界。

您正在使用 plot 单点。 plot 的默认绘图样式是不显示单个点,而是用线连接输入数据。

要么将 LineSpec 属性 更改为例如'o':

func = plot(x(1,1), x(2,1), 'o');

或使用scatter函数绘制单个点:

func = scatter(x(1,1), x(2,1));