⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bjoutline.m

📁 基于MATLAB系统辨识工具箱的离线辨识程序
💻 M
字号:
function [m,fit]=BJoutline(u,z,ts,N,nns,nnt)
%获取模型结构参数范围
nbs=nns(1);nbt=nnt(1);
ncs=nns(2);nct=nnt(2);
nds=nns(3);ndt=nnt(3);
nfs=nns(4);nft=nnt(4);
nk=nns(5);
if (nbt-nbs+1)*(nct-ncs+1)*(ndt-nds+1)*(nft-nfs+1)>150
    return 
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%获取实验数据,及数据预处理
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
servo=iddata(z,u,ts);
servo.InputName='position';
servo.OutputName='distance';
ze=servo(1:N);
%figure, plot(ze(1:1000))
%ze=dtrend(ze);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%模型检验及最优模型选择
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
temp=0;
for k1=nbs:nbt
    for k2=ncs:nct
        for k3=nds:ndt
            for k4=nfs:nft
                m11=bj(ze,[k1 k2 k3 k4 nk]);     %采用基于最小二乘法估计的ARMAX模型辨识
                [yh,fit]=compare(ze,m11);       %计算不同结构模型的的适应度
                if fit>temp
                    temp=fit;m=m11;             %选择适应度最高的模型
                    nn=[k1 k2 k3 k4 nk];
                end
                clc;
            end
        end
    end
end
%figure, compare(ze,m);                          %模型检验
[yh,fit]=compare(ze,m);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -