matlab 求解微分方程组的问题

2025-05-18 22:21:47
推荐回答(1个)
回答1:

感觉你的问题存在不少疑问:

  1. 这是一组线性微分方程,可以求出解析解的,而且很容易证明,对于w=1:10,系统发散,所以,请你确认方程有没有写错;

  2. 对于初始条件x(0)=0;y(0)=0,很容易可以检验,无论w的值是什么,求出来的dx/dt和dy/dt都是0,相应的,积分得到下一步长的x、y也是0,以此类推,x和y对所有t都等于0。所以,请你进一步确认,初始条件是不是错了。

 

如果按照你现在给的条件求解,很简单:

dx=inline('[w*x(1)-x(2); 2*w*x(2)-x(1)]','t','x','dummy','w');

Y = [];

W = 1:10;

for w=W

    [t,y]=ode45(dx,[0 10],[1; 1],[],w);

    Y = [Y, y(end,1)];

end

plot(W,Y)