matlab - Simulink 状态空间模块在 MIMO 模型中仅提供一个输出
问题描述
我有状态空间模型,其中:
A是4x4矩阵,B是4x1矩阵,C是1x4矩阵。
我希望在 Simulink 中模拟该模型,简单吧?所以我做了一个模型,如图所示。
为什么我只得到一个输出?我不应该得到矩阵 4x1 的输出,因此有四个输出吗?
解决方案
分析由矩阵方程组组成的状态空间模型:
dx = A*x + B*u
y = C*x + D*u
我们可以看到 y 的大小(输出)由 C 和 D 矩阵中的行数决定(两个矩阵中的行数必须相等)。
在您的情况下size(C) = [1,4]
,即行数为 1,因此您只有一个输出。
如果您想提取整个状态,您可以设置C = eye(4)
和修改 D 以便size(D) = [4,1]
(因为您现在有 4 个输出和 1 个输入)。
推荐阅读
- node.js - 为什么我的翻译脚本不能处理西里尔字母或中文字母?
- c - 为什么我会收到两个 SIGCONT 信号?
- javascript - 如何将整个 ViewModel 传递到 .net core mvc 3.1 中的外部 Javascript 文件中?
- macos - 如何使用旧代码库中的 Big-Sur 样式工具栏 + 拆分视图?
- clang - 找不到一些 Clang 命令行参数解释
- c# - 如何将 Visual c# 轨迹栏的值输入到笔大小值中?
- python-3.x - 如何使半径输入自动出现(Python 3)
- bash - 通过 azure cli 并行取消分配和调整 VM 的大小
- go - 本地版golang tour启动问题
- .net - 正则表达式捕获列中的多个单词