使用Matlab ode23s计算dx/dt=A*x

使用Matlab ode23s计算dx/dt=A*x,matlab,ode,Matlab,Ode,我希望创建一个通用代码,使用Matlab ODE解算器ode23s来解一个由5个一阶常微分方程组成的系统 [dx1/dt;dx2/dt;dx3/dt;dx4/dt,dx5/dt] = A (matrix of dimensions 5x5) * [x1(t);x2(t);x3(t);x4(t),x5(t)] 然后,只要改变矩阵A,我就可以多次使用它。tspan我设置为[050],初始条件是x(0)=C=[1;2;5;10;20] 如果您能帮上忙,我们将不胜感激!提前谢谢 在微分方程的matla

我希望创建一个通用代码,使用Matlab ODE解算器ode23s来解一个由5个一阶常微分方程组成的系统

[dx1/dt;dx2/dt;dx3/dt;dx4/dt,dx5/dt] = A (matrix of dimensions 5x5) * [x1(t);x2(t);x3(t);x4(t),x5(t)]
然后,只要改变矩阵A,我就可以多次使用它。
tspan
我设置为
[050]
,初始条件是
x(0)=C=[1;2;5;10;20]


如果您能帮上忙,我们将不胜感激!提前谢谢

在微分方程的matlab文档中,您可以找到类似的示例。你有没有试着让他们适应你的情况?有什么困难?@Dr.LutzLehmann,谢谢你的回答。文档中的示例是针对一个ODE或更高阶ODE,但不是针对此ODE。我在定义系统时遇到问题,函数x1,x5不是象征性的(我不想使用dsolve)…我仍然没有看到您的问题。矩阵实验室有矩阵和向量类型以及它们之间的算术运算。因此,定义
A
x0
,确保
A*x0
计算,并调用
T,X=ode45(@(T,X)A*X[t0,tf],x0)。它工作起来很有魅力,我只是不知道我还可以在ode解算函数中使用矩阵向量乘法!非常感谢。