Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在matlab mfile中从传递函数中获得具有两个输入的状态空间_Matlab - Fatal编程技术网

如何在matlab mfile中从传递函数中获得具有两个输入的状态空间

如何在matlab mfile中从传递函数中获得具有两个输入的状态空间,matlab,Matlab,我有一个带有两个零和四个极点的传递函数: G(s)= (as^2+bs+c)/(s^4+ds^3+es^2 ) 其中a、b、c、d和e为常数,“s”为拉普拉斯变换 我需要将传递函数转换为状态空间,这样它就有两个输入 i、 e.矩阵B有两列 我知道MatLab MFile中的命令tf2ss,但它给了我一个输入的状态空间。我将从这个TF得到的空间状态方程;我必须在simulink的空间状态块中使用它们。我必须给这个块两个输入。我该怎么做?任何指导 正如您所写,G(s)不能有两个输入。如果有,您

我有一个带有两个零和四个极点的传递函数:

G(s)=   (as^2+bs+c)/(s^4+ds^3+es^2 )
其中a、b、c、d和e为常数,“s”为拉普拉斯变换

我需要将传递函数转换为状态空间,这样它就有两个输入

i、 e.矩阵B有两列


我知道MatLab MFile中的命令tf2ss,但它给了我一个输入的状态空间。我将从这个TF得到的空间状态方程;我必须在simulink的空间状态块中使用它们。我必须给这个块两个输入。我该怎么做?任何指导

正如您所写,G(s)不能有两个输入。如果有,您将无法在s域中编写它。请注意,
as
在matlab中并不表示
a*s
,而只是一个新变量。此外,我不确定
s
是什么,但您可能需要使用elementwise
^
运算符,而不是矩阵运算符
^
。我认为帮助你的最简单方法是,你可以展示一个小例子,说明你希望输入和输出是什么。@DennisJaheruddin,Shayan Ali可能是这样做的:Gs=tf([ab c],[1de0])。s不仅仅是任何其他变量。它是一个起源于拉普拉斯变换的复数。传递函数是系统输出和输入之间的关系。如果有两个输入和一个输出,则需要两个将输出与每个输入关联起来的传递函数。本文可能有助于: