首页 > 解决方案 > 求解方程组:matlab中的2个微分,1个二次

问题描述

编写一个 Matlab(或其他)代码来求解系统数值:w'(t)=dw(t)/dt;

w'(t)=3*w(t)*y(t),
y'(t)=8*w(t)*y(t),
t^2=9+w(t)+y(t)

我不知道如何为此使用 ode45,因为 t 有 2 个解决方案。

标签: pythonmatlabwolfram-mathematica

解决方案


为什么你需要用数字来解决这个问题?对于数值解,您至少需要一个初始条件,即w(0), y0).

请注意,通过比较前两个等式:8w'(t) = 3y'(t)

然后,推导出第三个方程,得到:

2t = w'(t)+y'(t)

这意味着 :

8*3*2t = 8*3*w'(t)+8*3*y'(t)

48t = 8*3*w'(t)+8*8*w'(t)

48t = 88*w'(t)

6t = 11*w'(t)

因此w'(0)=0y'(0)=0

因此,从第一个方程:w(0)*y(0)=0

因为方程是对称的,所以你提到有两个解。假设w(0)=0,则从第三个等式,'y(0)=-9'。从6t = 11*w'(t)我们有w(t)=(6/11)t, 和y(t)=-9+(48/33)t

另一种解决方案是y(t)=(6/11)tw(t)=-9+(48/33)t


推荐阅读