www.rtmj.net > mAtlAB系统辨识的prEDiCt函数问题

mAtlAB系统辨识的prEDiCt函数问题

clc, clear a=[ ]; a=a'; a=a(:); a=a'; %把原始数据按照时间顺序展开成一个行向量 Rt=tiedrank(a) %求原始时间序列的秩 n=length(a); t=1:n; Qs=1-6/(n*(n^2-1))*sum((t-Rt).^2) %计算Qs的值 t=Qs*sqrt(n-2)/sqrt(1-Qs^2) %计算T统计量的值 t_0=tinv(0.975

这是matlab给的解释,你看吧predictPredict output k steps ahead Syntaxyp = predict(m,data)[yp,x0p,mpred] = predict(m,data,k,'InitialState',init)Descriptiondata is the output-input data as an iddata object, and m is any idmodel or idnlmodel object.

源码 13 行ahat=[a(1),a+bhat{1}'];修改成:ahat=[a(1),a+bhat(1)'];因为这里 predict 返回的不是 cell 结构~

谢邀.如果想通过程序代码实现传递函数的功能,需要将辨识得到的传递函数离散化并转化成差分方程,然后通过当前时刻和前几个时刻的数据即可计算得到当前时刻输出.k-1时刻的 举一个简单的例子说吧 假设单输入单输出传递函数是G=1/(s+1

系统辨识往往也包括参数的辨识,即知道模型,辨识其中的参数,这种意义的辨识比较容易,线性的有很多,常用有最小二乘,非线性也可用用智能优化算法,如遗传算法、粒子群.系统辨识若是一般的意义,即包括模型辨识和参数辨识,首先需要确定模型,之后再参数辨识,模型可根据经验确定,如ar模型,或直接确定阶次近似模型.matlab,不能确定模型,需要自己选,选定之后就是参数辨识,matlab中有参数辨识的方法.

dsolve函数的用法不对.matlab中,解微分方程dsolve必须为字符串 help dsolve 查看这个函数的用法及含义,理解了就好.

使用matlab工具箱更为方便和直观:1. 把u,y信号导入到工作空间里.2. 用ident命令打开matlab系统辨识工具箱,然后点击import data,从新打开界面里导入工作空间的数据.然后可以通过图形查看该输入输出信号,或者在proprocess进行信号预处理.3. 根据你的模型在estimate里选择linear parameter models,个人觉得你应该选择ARX结构,确定阶数,然后进行估计.4. 在主界面里查看估计模型,并且可以和实际输出比较,看看拟合度.详细使用方面参考 帮助文档 System Identification Toolbox User's Guide

y'=filter(num,den,x)这个算出来的是y'差分方程算出来的是y,不是y'

看看这个solve对于方程的处理 你就知道了 最好单步运行一下 内部直接把你的这个0丢掉了~function [eqns,vars] = getEqns(varargin)eqns = [];vars = [];for k = 1:nargin v = varargin{k}; vc = char(v); if ~isempty(eqns) && all(isstrprop(vc,'

如果想通过程序代码实现传递函数的功能,需要将辨识得到的传递函数离散化并转化成差分方程,然后通过当前时刻和前几个时刻的数据即可计算得到当前时刻输出.k-1时刻的举一个简单的例子说吧假设单输入单输出传递函数是G=1/(s+1)按采样周期Ts=0.01s离散得到离散传递函数G'=Y/U=0.00995z^-1/(1-0.99z^-1)转化为差分方程为y(k)=0.99*y(k-1)+0.00995*u(k-1)

网站地图

All rights reserved Powered by www.rtmj.net

copyright ©right 2010-2021。
www.rtmj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com