Simulink以矩阵作为参数传递fcn

时间:2014-06-18 16:00:15

标签: matlab matrix simulink

让我们说我想模拟这个等式(电动机,6相):

Vs = Rs *是+ d / dt *(Ls * Is)

其中所有变量都是矩阵,所以:

Vs = [va1 vb1 vc1 va2 vb2 vc2]' (列向量)

是= [ia1 ib1 ic1 ia2 ib2 ic2]' (列向量)

Ls Rs 是6x6矩阵(常量)

从我的观点来看,Vs是输入向量,Is是输出向量,所以我需要重新排列方程。

我已经看到在Simulink中无法使用矩阵为Transfer Fcn块提供信息,至少不适用于多输入多输出系统。

有没有办法在Simulink上实现这一点仍然使用矩阵 Ls Rs 而没有"解包"等式?

谢谢

2 个答案:

答案 0 :(得分:0)

我会以状态空间的形式重新排列方程,并使用State-Space块,这更适合矩阵方程。

另一种选择是使用带有矢量化输入的基本Simulink块,例如IntegratorGain块。我并非100%确定这会有效,但相当自信。

答案 1 :(得分:0)

您可以在Matlab中使用带有矩阵的产品块,这样就没有问题了。使用矢量输入也可以使用积分器/微分块(尽管最好避免使用导数),所以如果你可以把你的等式作为输出,那么应该没有问题。 您可以将2个乘法矩阵作为输入和所需的矢量放置,您将获得输出的矢量,如您所愿。