在simulink中使用积分器输出作为矩阵输入

时间:2015-01-29 00:44:18

标签: matlab matrix simulink ode

我试图在simulink中以矩阵形式求解一组微分方程。我的问题是我的2个集成商的输出应该是" x"和" y"从每个,然后我需要将这些x和y值放入矩阵中以便解决它。所以我想知道我尝试做的事情是否可行,或者我有错误的方法来解决方程式。

我想解决的是:

[dx/dt;dy/dt]=[1;0]+[-2,-5;1,0][x;y]

这是我当前的设置:

感谢任何建议。enter image description here

1 个答案:

答案 0 :(得分:0)

我认为xy是标量,所以鉴于它是2个未知的2方程问题,使用矩阵表示法会使问题过于复杂。使用标量方程对系统进行建模会容易得多:

dx/dt = -2*x - 5*y + 1;
dy/dt = x;

实际上,它可以折叠为1个未知的,1个方程式系统:

d^2 x / dt^2 = -2*dx/dt - 5*x;

首先从一个积分器块开始,其输出为dx/dt(因此输入为d^2 x / dt^2),并将输入形成第二个积分器块,然后输出x 。通过添加-5*x-2*dx/dt并将其提供给第一个积分器块的输入来关闭循环。要获得y,请添加第三个积分器块,其中x为输入,y为输出。不要忘记为每个积分器块设置正确的初始条件。