📄 least square.txt
字号:
%Static LS Parameter identifier
close all;clear all;clc
u=0:0.2:1;
%Generating Function
Y=1+2*u+3*u.^2+4*u.^3+5*u.^4+rand; % with noise
Y=Y'; %take Y transpose i.e. of function with noise
%model 1
PHI1=[(u.^0)']; % generating phi transpose
THETA1=(PHI1'*PHI1)^-1*PHI1'*Y % (2.6) page 43 Adaptive Control 2nd ed. Astrom & Wittenmark
Yest1=PHI1*THETA1; %estimated perimeters Y = PHI*THETA (2.4)
RESIDUALS = Y - Yest1;
V1=0.5*(Y-Yest1)'*(Y-Yest1)
%model 2
PHI2=[(u.^0)' (u.^1)'];
THETA2=(PHI2'*PHI2)^-1*PHI2'*Y
Yest2=PHI2*THETA2;
V2=0.5*(Y-Yest2)'*(Y-Yest2) %loss function
%model 3
PHI3=[(u.^0)' (u.^1)' (u.^2)'];
THETA3=(PHI3'*PHI3)^-1*PHI3'*Y
Yest3=PHI3*THETA3;
V3=0.5*(Y-Yest3)'*(Y-Yest3)
%model 4
PHI4=[(u.^0)' (u.^1)' (u.^2)' (u.^3)'];
THETA4=(PHI4'*PHI4)^-1*PHI4'*Y
Yest4=PHI4*THETA4;
V4=0.5*(Y-Yest4)'*(Y-Yest4)
%model 5
PHI5=[(u.^0)' (u.^1)' (u.^2)' (u.^3)' (u.^4)'];
THETA5=(PHI5'*PHI5)^-1*PHI5'*Y
Yest5=PHI5*THETA5;
V5=0.5*(Y-Yest5)'*(Y-Yest5)
%results
V=[V1 V2 V3 V4 V5];
figure
plot(u,Y,'b',u,Yest1,'k',u,Yest2,'g',u,Yest3,'r',u,Yest4,'y',u,Yest5,'k')
legend('original','model 1','model 2','model 3','model 4','model 5')
figure
plot(V,'ro');xlabel('No of regressors');ylabel('Loss Function V')
PHI = [PHI1 PHI2 PHI3 PHI4 PHI5];
%THETA = [THETA1 THETA2 THETA3 THETA4 THETA5];
Yests = [Yest1 Yest2 Yest3 Yest4 Yest5];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -