最小二乘算法.txt

来自「《MATLAB在控制系统中的应用》实例程序」· 文本 代码 · 共 42 行

TXT
42
字号
clear all; %最小二乘法for  MISO
load t2;   %读入数据矩阵  
tt=t2;
clear t2;

ll=size(tt);   %得到矩阵维数200?2
r=ll(2)-1;

m(1)=input('order of A(z)');
tao(1)=0;
for i=1:r
i
m(i+1)=input('order of B(z)');
tao(i+1)=input('timedelay of B(z)');
end
if m(1)<max(m),m(1)=max(m);end

n=m(1)+max(tao);
lll=ll(1)-n;
in1=r+1;
kn=0;
for k=1:in1
for i=1:lll
for j=1:m(k)
jtao=j+tao(k);
ff(i,j+kn)=tt(i+n-jtao,k);
if k==1, ff(i,j+(k-1)*n)=-ff(i,j+(k-1)*n);end
end;end;
kn=kn+m(k);
end;

for i=1:lll
yy(i)=tt(i+n,1);
end;

fa=ff'*ff;
fay=ff'*yy';
zz=inv(fa);
zta=zz*fay

m,tao
 

⌨️ 快捷键说明

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