matlab - 在matlab armax中使用sim
问题描述
我在下面编写代码,但我发现一个我不知道它是什么的错误请帮助我错误是
使用 idmodel/sim 时出错(第 114 行) 必须使用 iddata 对象或双矩阵指定模拟输入数据。
无标题错误(第 17 行)y = sim(sys,u);
clc;
clear all ;
close all;
A = [1 -0.5 0.06];
B = [5 -2];
C = [1 -0.2 0.001];
Ts = 1; %sample time
sys = idpoly(A,B,C,'Ts',1);
Range = [-1 1];
Band = [0 1];
u = stairs(idinput(100,'prbs',Band,Range)); %form a prbs input
opt1 = simOptions('AddNoise',true);
y = sim(sys ,u,opt1);
iodata = iddata(y,u,Ts);
na = 3; nb = 2; nc = 3; nk = 1;
me = armax(iodata,[na,nb,nc,nk]);
compare(iodata,me)
非常感谢您
解决方案
您的输入变量u
应该是一个列向量,但在您的代码中它是一个图形对象,用于class(u)
检查这一点。如果你替换这一行
u = stairs(idinput(100,'prbs',Band,Range)); %form a prbs input
像这样:
u = [zeros(25, 1); ones(25, 1)]; % step input
然后代码不再崩溃。
推荐阅读
- xamarin.forms - 如何使用渲染器为表单中的条目控件设置透明边框颜色
- wordpress - 无法访问 wordpress 上的内容,总是重定向到页面 http://localhost/dashboard/
- php - 使用 php 的字母搜索框
- google-apps-script - 如何使用谷歌应用脚本通过 API 更新 Streak 框?
- google-cloud-firestore - 未为集合组中的 arrayContains 生成 Firestore 索引 URL?
- android - 通过 chrome://inspect 调试 WebView 时无法单击截屏
- azure-blob-storage - 是否可以在 blob 上读取实际应用的不可变策略 - 剩余的基于时间的保留天数
- xml - 任何现代浏览器真的没有办法在 XML 文件中应用远程 XSLT 样式表引用吗?
- file-upload - 每次在 Load Runner 中上传具有不同名称的相同文件
- vue.js - 在 vueJS 上使用 PrintJS 打印页面部分