Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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 Lsim MIMO系统误差_Matlab - Fatal编程技术网

Matlab Lsim MIMO系统误差

Matlab Lsim MIMO系统误差,matlab,Matlab,我正在学习飞行动力学课程,我想在4个输入中的一个上绘制阶跃输入(0.01745)的响应。 我有4个输入: u、 w,q,θ 但是,我得到一个错误: 使用DynamicSystem/lsim时出错(第98行) 当模拟对特定事件的响应时 输入信号,输入数据U必须是一个矩阵 时间向量中的行数与样本数相同 T、 和输入通道一样多的列 就我在工作区所见,我满足了这些要求。。。 当我使用u=one(大小(t))时,我的代码确实可以工作,但这会在所有4个通道u、w、q、θ上提供一个阶跃输入。。。。你能帮帮我吗

我正在学习飞行动力学课程,我想在4个输入中的一个上绘制阶跃输入(0.01745)的响应。 我有4个输入: u、 w,q,θ

但是,我得到一个错误: 使用DynamicSystem/lsim时出错(第98行) 当模拟对特定事件的响应时 输入信号,输入数据U必须是一个矩阵 时间向量中的行数与样本数相同 T、 和输入通道一样多的列

就我在工作区所见,我满足了这些要求。。。 当我使用u=one(大小(t))时,我的代码确实可以工作,但这会在所有4个通道u、w、q、θ上提供一个阶跃输入。。。。你能帮帮我吗?谢谢:)

矩阵状态文件与以下系统模型相关:

dx/dt = Ax(t) + Bu(t)
 y(t) = Cx(t) + Du(t)
特别是,
B
“--是Nx乘Nu实数或复数矩阵”,其中
Nx
是状态维度(在您的例子中为4),而
Nu
是控制维度,根据您的
B=[5.63-23.8-4.515760]为1

但是,当您尝试使用矩阵
u=[u1;u2;u3;u4]作为控件输入在代码中显示,由于其维度不符合预期(4而不是1),因此将失败。在您的代码中,控制输入的长度(对应于
t
)似乎正常

总之,您至少需要修改
B
(请注意,我不是特定系统的专家--您自己最清楚!)才能使此工作正常。也许您需要
Bnew=diag(B)
或类似的东西?

矩阵与以下系统模型相关的状态文档:

dx/dt = Ax(t) + Bu(t)
 y(t) = Cx(t) + Du(t)
特别是,
B
“--是Nx乘Nu实数或复数矩阵”,其中
Nx
是状态维度(在您的例子中为4),而
Nu
是控制维度,根据您的
B=[5.63-23.8-4.515760]为1

但是,当您尝试使用矩阵
u=[u1;u2;u3;u4]作为控件输入在代码中显示,由于其维度不符合预期(4而不是1),因此将失败。在您的代码中,控制输入的长度(对应于
t
)似乎正常


总之,您至少需要修改
B
(请注意,我不是特定系统的专家--您自己最清楚!)才能使此工作正常。也许您需要
Bnew=diag(B)
或类似的东西?

zeros(n)给出一个nxn矩阵您想要零(n,1)吗?我还没有详细检查,但目前似乎不正确。@nivag不适用,因为OP使用
size(t)
,它为向量生成一个2乘1的输出,作为
零的输入。所以本质上等于用两个输入参数调用
zero
。@mikkola你是对的。正如我所说,矩阵的大小是一致的,尽管matlab说它不。。。看起来matlab无法识别4个输入…零(n)给出了一个nxn矩阵你想要零(n,1)吗?我还没有详细检查,但目前似乎不正确。@nivag不适用,因为OP使用
size(t)
,它为向量生成一个2乘1的输出,作为
零的输入。所以本质上等于用两个输入参数调用
zero
。@mikkola你是对的。正如我所说,矩阵的大小是一致的,尽管matlab说它不。。。看起来matlab无法识别这4个输入…感谢您的回答和帮助。我理解你的观点,事实上,当我用diag(B)转换B时,我没有得到错误ha。然而,我的输出毫无意义,但我们正在取得进展:)@Jurriënplitter很高兴我能提供帮助。谢谢你的回答和帮助。我理解你的观点,事实上,当我用diag(B)转换B时,我没有得到错误ha。然而,我的输出毫无意义,但我们正在取得进展:)@Jurriënplitter很高兴我能提供帮助。