我有二阶ODE系统:
A*u(t) + B*u''(t) = q(t) + b_A + b_B.
这里,A和B是已知矩阵,b_A是已知向量,b_B是已知向量,并且q(t)是我可以针对给定t值计算的时间相关向量。
我的问题的目标是数字近似函数u_1,...,u_n,它们是u(t)中的条目。此外,u(< t)(t)表示u(t)的第二时间导数。我也有初始条件向量:
u0 = zeros(n,1).
如何使用内置于ode求解器(ode45)中的MATLAB解决此问题?
到目前为止,我所看到的所有例子都涉及将二阶ODE系统转换为一阶ODE系统,但它们都是非常小的例子。谢谢你的帮助。
要将其转换为一阶ODE系统,我会做
y_1 = u
y_2 = u', so :
y_1' = y_2, and
y_2' = A^(-1)*(q(t) + b_A + b_B - A*y_1).
我应该如何在MATLAB中实现它?