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

📄 sysidjianxiao_bj.m

📁 基于最小二乘法和相关系数法的系统辨识方法
💻 M
字号:
clear;clc;
tic;
disp('in1_out1:');
% data=load('..\热电偶电压与温度转换\bj_newfurnace/in1_out3.txt');
data=load('sh/in1_out1.txt');
% u=data(:,1)-data(:,2)-min(data(:,1)-data(:,2));
% y_t=data(:,2)-min(data(:,2));
u=data(:,1)-min(data(:,1));
y_t=data(:,2)-min(data(:,2)); %处理过后的数据,百分制
bFilter=1;
if(bFilter==1)
    alfa=0.8;
    disp('First order filter...')
    for i=2:size(u,1)
%         u(i)=alfa*u(i-1)+(1-alfa)*u(i);
        y_t(i)=alfa*y_t(i-1)+(1-alfa)*y_t(i);
    end
elseif(bFilter==2)
    disp('mean value filter...')
    for(i=2:size(u,1)-1)
        y_t(i)=1/3*(y_t(i-1)+y_t(i)+y_t(i+1));
    end
end

N=size(y_t,1);
% ident;pause
na=2;
nb=1;
nc=1;
[logtheta_converged,logtheta_converged_pos,mimimum_e,e_distribution,logtheta,Y,loge,e,K,T]=jianxiaojiyi_norder_ExtendRLS_criterian(u,y_t,N-10,na,nb,nc,0);% 此处的延迟应为相关系数法延迟-1
mean_logtheta_converged=mean(logtheta_converged) 
min_a1=min(logtheta_converged(:,1))
max_a1=max(logtheta_converged(:,1))
min_a2=min(logtheta_converged(:,2))
max_a2=max(logtheta_converged(:,2))


		[minv,minpos]=min(mimimum_e);
		theta=logtheta_converged(minpos,:)'
        K=mean_logtheta_converged(2)/(1+mean_logtheta_converged(1))
        T=-1/log(-mean_logtheta_converged(1))
        
[tao,ym,y,u,beita,P_P,variance]=zyzblh_norder_onlytao(u,y_t,theta,na,nb);
tao,beita
% [logtheta,Y,loge,e]=jianxiaojiyi_1order(u,y_t,N-100,0);
% sysidjie(u,y_t,N-100);
figure
plot(logtheta);
legend('a1','a2','b0','c1')
title('in1-out1');
% hold on;
figure
% plot(y_t+min(data(:,2)),'r--');data(:,2)
plot(data(:,2),'r--');
hold on;
plot(Y'+min(data(:,2)),'b');
% hold on;
% plot(Y_relation','g');hold off;
% legend('实际输出','rls模型输出','corr模型输出');
legend('实际输出','ls模型输出');
title('in1-out1');
toc;

⌨️ 快捷键说明

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