matlab - simulink 中的非线性状态空间模型
问题描述
我正在尝试在 simulink 中创建非线性状态空间模型。到目前为止,我所做的是,
在我的 matlab 函数中,我写了我的方程式:
function [xdot, y] = nonlinearss(x,u)
%define constants
a1=...;
b1=...;
xdot=[x(2);x(3);x(4);x(5);a1*x(1)*x(1)+...]+[0;0;0;0;(b1*x(1)*x(1)+...]*u;
y = x(1);
end
当我运行模型时,它给了我这个错误:
Simulink 无法将可变大小模式从“untitled/MATLAB Function”的输出端口 1 传播到“untitled/Integrator”的输入端口 1。此输入端口需要一个固定大小的模式。可变大小模式源自“untitled/MATLAB Function”。检查以下场景之一的 'untitled/Integrator' 的配置: 1) 模块不支持可变大小信号;2) 模块支持可变大小的信号,但需要对其进行配置。
我的x
矩阵是一个固定大小 (5x1) 的向量,也是xdot
. 为什么它给我这个错误以及我该如何解决这个错误?(另外我必须提到,在我的 MATLAB 功能块代码的编辑器中,我点击了“编辑数据”,然后我检查了 xdot 和 x 的可变大小框,我给了[5 1] 作为大小。)
解决方案
推荐阅读
- c# - OData:嵌套扩展仅支持多对一关系
- reactjs - 无法解析 '/Users/apple/Desktop/my-app/src 中的 './reducer'
- java - 如何使用 2 个循环制作多线程代码
- java - 在前台服务android中连接蓝牙存在问题
- python - 从控制器类而不是 GUI 类访问 tkinter 键盘输入
- java - Spring Cloud 网关 AbstractErrorWebExceptionHandler
- javascript - 对象数组过滤并获取另一个结构中的值
- fortify - 生成的 .fpr 文件中的计数与在同一 fpr 文件上使用 FPRUtility 命令生成的计数不匹配
- google-api - Youtube Analytics API,返回 500 个视频,只返回指标?
- python - 查询 Django 中所有类型的每个唯一类型的第 n 个最新条目