关于模型预测的matlab程序?

采用下面的MATLAB程序对该对象进行脉冲响应模型辨识,脉冲响应模型预测输出与预测误差曲线:%将多项式的传递函数模型转换为MPC传递函数模型num=[11];den=[1... 采用下面的MATLAB程序对该对象进行脉冲响应模型辨识,脉冲响应模型预测输出与预测误差曲线:
% 将多项式的传递函数模型转换为MPC传递函数模型
num=[1 1];den=[1 3 6]; h=tf(num,den); % 获得脉冲信号x
[u,t]=gensig('pulse',2,10,0.1); x=u;
% 求解LTI对象的单位脉冲响应y t=0:0.1:10;
[y,x,t]=lsim(h,x,t); 此段是从百度文库里看到的
% 输入脉冲信号x的归一化处理 [ax,mx,stdx]=autosc(x); mx=0;
Sx=scal(x,mx,stdx);
% 生成用于线性回归计算的输入/出数据矩阵 n=35;
[xreg,yreg] = wrtreg(Sx,y,n);
% 基于多变量最小二乘法的脉冲响应模型辨识 ninput=1; plotopt=2;
[theta,yres]=mlr(xreg,yreg,ninput,plotopt);
这是百度文库里的一个程序,得到图像为

但是第6行在李国勇的智能控制及matlab实现的书中该行语句是[y,x1,t1]=lsim(h,x,t);
并且图像变为了

请问各位高手[y,x1,t1]和[y,x,t]是什么区别?为什么会导致两图的误差曲线不一致?还有图中分别有实际输出,预测输出及输出误差的曲线,那么实际输出,预测输出是那两条呢?初学模型预测,先感谢各位了
展开
 我来答
薇薇oasis
2014-01-17
知道答主
回答量:3
采纳率:0%
帮助的人:5.1万
展开全部
我没有自己看你的程序,不过通过图可以看得清楚啊,实际输出用‘o’表示,预测的用‘+’表示。第一个图估计是初始化,也就是第一步,预测还没有开始,还是相等的点。而下图表示,已经预测结束,与实际基本吻合。
追问
可是程序中除了[y,x1,t1]=lsim(h,x,t);,没看到哪一句用到了x1,t1?x1,t1出现在其它哪个语句里呢?
追答
作者,[y,x1,t1]=lsim(h,x,t) 和[y,x,t]=lsim(h,x,t)没有任何区别,输入参数是一致的,输出也是一致的,只是他换了个符号表达而已,结果就是 x1=x,我觉得你要真正理解他是怎么做的,这个图只是帮助你理解,他表达的就像我给你解释的那样。
lioceansea
2014-01-12
知道答主
回答量:55
采纳率:0%
帮助的人:11.3万
展开全部
行行行行粉粉粉粉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yfthn368
2014-01-11 · TA获得超过1539个赞
知道小有建树答主
回答量:3705
采纳率:0%
帮助的人:981万
展开全部
我这里有一个神经网络,效果还可以,不知道是否适用!
追问
其实我是想知道为什么把[y,x,t]改为[y,x1,t1]后误差图像就变了,x,t与x1,t1是什么区别?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式