当前位置:文档之家› 最小二乘参数辨识方法及应用程序清单

最小二乘参数辨识方法及应用程序清单

最小二乘参数辨识方法及应用程序清单
最小二乘参数辨识方法及应用程序清单

第3章最小二乘参数辨识方法及应用程序清单一、3.2.2节利用最小二乘法求取模型参数的程序

二、3.3 加权最小二乘算法

程序3:最小二乘参数辨识程序

clear all%清理工作间变量

close all%关闭所有图形

clc%清屏

%% 产生白噪声的程序%%%%

A=6;

x0=1;M=255;

for k=1:10000

x2=A*x0;

x1=mod (x2,M);

v1=x1/256;

v(:,k)=(v1-0.5)*2;

x0=x1;

v0=v1;

end

num=v;

k1=k;

% num=zeros(1,1000);

% randn('seed',100);

% num=randn(1,1000);

%%%%%% 白噪声程序结束%%%%%%%

%% M序列产生程序%%%%%%%%%

L=15;% M序列的周期

y1=1;y2=1;y3=1;y4=0;%四个移位积存器的输出初始值

for i=1:L;%开始循环,长度为L

x1=xor(y3,y4);%第一个移位积存器的输入是第3个与第4个移位积存器的输出的“或”

x2=y1;%第二个移位积存器的输入是第3个移位积存器的输出

x3=y2;%第三个移位积存器的输入是第2个移位积存器的输出

x4=y3;%第四个移位积存器的输入是第3个移位积存器的输出

y(i)=y4;%取出第四个移位积存器幅值为"0"和"1"的输出信号,

if y(i)>0.5,u(i)=-1;%如果M序列的值为"1"时,辨识的输入信号取“-1”

else u(i)=1;%当M序列的值为"0"时,辨识的输入信号取“1”

end%小循环结束

y1=x1;y2=x2;y3=x3;y4=x4;%为下一次的输入信号做准备

end%大循环结束,产生输入信号u

figure(1);%第1个图形

stem(u),grid on%以径的形式显示出输入信号并给图形加上网格

%%%% M序列产生程序程序结束%%%%%%%%%%%%%%%%%%%%%%%%%%

%% 最小二乘辨识程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

z=zeros(1,16); %定义输出观测值的长度

for k=3:16

z(k)=-1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2)+0*num(k); %用理想输出值作为观测值

end

figure(2)

plot([1:16],z) %图形的横坐标是采样时刻i, 纵坐标是输出观测值z, 图形格式为连续曲线

figure(3)

stem(z),grid on%画出输出观测值z的经线图形,并显示坐标网格

%L=14%数据长度

HL=[-z(2) -z(1) u(2) u(1);-z(3) -z(2) u(3) u(2);-z(4) -z(3) u(4) u(3);-z(5) -z(4) u(5) u(4);-z(6) -z(5) u(6) u(5);-z(7) -z(6) u(7) u(6);-z(8) -z(7) u(8) u(7);-z(9) -z(8) u(9) u(8);-z(10) -z(9) u(10) u(9);-z(11) -z(10) u(11) u(10);-z(12) -z(11) u(12) u(11);-z(13) -z(12) u(13) u(12);-z(14) -z(13) u(14) u(13);-z(15) -z(14) u(15) u(14)] %给样本矩阵HL 赋值

ZL=[z(3);z(4);z(5);z(6);z(7);z(8);z(9);z(10);z(11);z(12);z(13);z(14);z(15);z(16)]% 给样本矩阵zL赋值

%calculating parameters%计算参数

c1=HL'*HL; c2=inv(c1); c3=HL'*ZL; c=c2*c3 %计算并显示

%DISPLAY PARAMETERS

a1=c(1), a2=c(2), b1=c(3), b2=c(4) %从中分离出并显示a1 、a2、b1、b2

%End

%% 最小二乘辨识程序结束%%%%%%%%%%%%%%%%%%%%%%%

三、3.4 递推最小二乘算法

程序4:递推最小二乘参数辨识程序

clear all%清理工作间变量

close all%关闭所有图形

clc%清屏

%%%%%%%%%%%%%%%%%%%%%%%%%% 产生白噪声的程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%

A=6;

x0=1;M=255;

for k=1:10000

x2=A*x0;

x1=mod (x2,M);

v1=x1/256;

v(:,k)=(v1-0.5)*2;

x0=x1;

v0=v1;

end

num=v;

k1=k;

% num=zeros(1,1000);

% randn('seed',100);

% num=randn(1,1000);

% 白噪声程序结束%%%%%%%

%%%%%% M序列产生程序%%%L=15;% M序列的周期

y1=1;y2=1;y3=1;y4=0;%四个移位积存器的输出初始值

for i=1:L;%开始循环,长度为L

x1=xor(y3,y4);%第一个移位积存器的输入是第3个与第4个移位积存器的输出的“或”

x2=y1;%第二个移位积存器的输入是第3个移位积存器的输出

x3=y2;%第三个移位积存器的输入是第2个移位积存器的输出

x4=y3;%第四个移位积存器的输入是第3个移位积存器的输出

y(i)=y4;%取出第四个移位积存器幅值为"0"和"1"的输出信号,

if y(i)>0.5,u(i)=-1;%如果M序列的值为"1"时,辨识的输入信号取“-0.03”

else u(i)=1;%当M序列的值为"0"时,辨识的输入信号取“0.03”

end%小循环结束

y1=x1;y2=x2;y3=x3;y4=x4;%为下一次的输入信号做准备

end%大循环结束,产生输入信号u

figure(1);%第1个图形

stem(u),grid on%以径的形式显示出输入信号并给图形加上网格

%%%% M序列产生程序程序结束%%%

%%%% 递推最小二乘辨识程序%%%%%

lamt=1;

z(2)=0;z(1)=0;%取z的前两个初始值为零

for k=3:15;%循环变量从3到15

z(k)=-1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2)+0*num(1,k);%给出理想的辨识输出采样信号end

%RLS递推最小二乘辨识

c0=[0.001 0.001 0.001 0.001]';%直接给出被辨识参数的初始值,即一个充分小的实向量

p0=10^3*eye(4,4);%直接给出初始状态P0,即一个充分大的实数单位矩阵

E=0.000000005;%相对误差E=0.000000005

c=[c0,zeros(4,14)];%被辨识参数矩阵的初始值及大小

e=zeros(4,15);%相对误差的初始值及大小

for k=3:15; %开始求K

h1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]';

x=h1'*p0*h1+1*lamt;

x1=inv(x); %开始求K(k)

k1=p0*h1*x1;%求出K的值

d1=z(k)-h1'*c0;

c1=c0+k1*d1;%求被辨识参数c

% p1=p0-k1*k1'*(h1'*p0*h1+1);%求出p(k)的值

p1=1/lamt*(eye(4)-k1*h1')*p0;

e1=c1-c0;%求参数当前值与上一次的值的差值

e2=e1./c0;%求参数的相对变化

e(:,k)=e2; %把当前相对变化的列向量加入误差矩阵的最后一列

c(:,k)=c1;%把辨识参数c 列向量加入辨识参数矩阵的最后一列

c0=c1;%新获得的参数作为下一次递推的旧参数

p0=p1;%给下次用

if e2<=E

break;%若参数收敛满足要求,终止计算

end%小循环结束

end%大循环结束

%%% 最小二乘辨识程序结束%%%%%

%%%% 辨识结果显示程序%%%%%

c%显示被辨识参数

e%显示辨识结果的收敛情况

%分离参数

a1=c(1,:); a2=c(2,:); b1=c(3,:); b2=c(4,:);

ea1=e(1,:); ea2=e(2,:); eb1=e(3,:); eb2=e(4,:);

figure(2);%第2个图形

i=1:15;%横坐标从1到15

plot(i,a1,'r',i,a2,'b',i,b1,'k',i,b2,'g') %画出a1,a2,b1,b2的各次辨识结果

title('递推最小二乘参数辨识')%图形标题

figure(3); %第3个图形

i=1:15; %横坐标从1到15

plot(i,ea1,'r',i,ea2,'b',i,eb1,'k',i,eb2,'g') %画出a1,a2,b1,b2的各次辨识结果的收敛情况

title('辨识精度') %图形标题

%%% 辨识结果显示程序结束%%

四、3.5 增广最小二乘辨识算法及原理

程序5:增广递推最小二乘参数辨识程序

clear all%清理工作间变量

close all%关闭所有图形

clc%清屏

%%%% M序列、噪声信号产生及其显示程序%%%%

L=60;%四位移位积存器产生的M序列的周期

y1=1;y2=1;y3=1;y4=0;%四个移位积存器的输出初始值

for i=1:L;

x1=xor(y3,y4);%第一个移位积存器的输入信号

x2=y1;%第二个移位积存器的输入信号

x3=y2;%第三个移位积存器的输入信号

x4=y3;%第四个移位积存器的输入信号

y(i)=y4;%第四个移位积存器的输出信号,幅值"0"和"1"

if y(i)>0.5,u(i)=-1;%M序列的值为"1"时,辨识的输入信号取“-1”

else u(i)=1;%M序列的值为"0"时,辨识的输入信号取“1”

end

y1=x1;y2=x2;y3=x3;y4=x4;%为下一次的输入信号作准备

end

figure(1);%画第一个图形

subplot(2,1,1); %画第一个图形的第一个子图

stem(u),grid on%画出M序列输入信号

v=randn(1,60); %产生一组60个正态分布的随机噪声

subplot(2,1,2); %画第一个图形的第二个子图

plot(v),grid on;%画出随机噪声信号

R=corrcoef(u,v);%计算输入信号与随机噪声信号的相关系数

r=R(1,2);%取出互相关系数

u%显示输入型号

v%显示噪声型号

%%%% M序列、噪声信号产生及其显示程序结束%%%

%%% 增广递推最小二乘辨识程序%%%%%%%%%%%

z=zeros(7,60);zs=zeros(7,60);zm=zeros(7,60);zmd=zeros(7,60);%输出采样、不考虑噪声时系统输出、不考虑噪声时模型输出、模型输出矩阵的大小

z(2)=0;z(1)=0;zs(2)=0;zs(1)=0;zm(2)=0;zm(1)=0;zmd(2)=0;zmd(1)=0;%给输出采样、不考虑噪声时系统输出、不考虑噪声时模型输出、模型输出赋初值

%增广递推最小二乘辨识

c0=[0.001 0.001 0.001 0.001 0.001 0.001 0.001]';%直接给出被辨识参数的初始值,即一个充分小的实向量

p0=10^6*eye(7,7);%直接给出初始状态P0,即一个充分大的实数单位矩阵

E=5.0e-15;%取相对误差E

c=[c0,zeros(7,59)];%被辨识参数矩阵的初始值及大小

e=zeros(7,60);%相对误差的初始值及大小

for k=3:60; %开始求K

z(k)=-1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2)+1.2*v(k)-v(k-1)+0.2*v(k-2);%系统在M序列输入下的输出采样信号

h1=[-z(k-1),-z(k-2),u(k-1),u(k-2),v(k),v(k-1),v(k-2)]';%为求K(k)作准备

x=h1'*p0*h1+1;

x1=inv(x);

k1=p0*h1*x1; %K

d1=z(k)-h1'*c0;

c1=c0+k1*d1;%辨识参数c

zs(k)=-1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2);%系统在M序列的输入下不考虑扰动时的输出响应zm(k)=[-z(k-1),-z(k-2),u(k-1),u(k-2)]*[c1(1);c1(2);c1(3);c1(4)];%模型在M序列的输入下不考虑扰动时的的输出响应

zmd(k)=h1'*c1;%模型在M序列的输入下的的输出响应

e1=c1-c0;

e2=e1./c0; %求参数的相对变化

e(:,k)=e2;

c0=c1;%给下一次用

c(:,k)=c1;%把辨识参数c 列向量加入辨识参数矩阵

p1=p0-k1*k1'*[h1'*p0*h1+1];%find p(k)

p0=p1;%给下次用

if e2<=E break;%若收敛情况满足要求,终止计算

end%判断结束

end%循环结束

c, e, %显示被辨识参数及参数收敛情况

z,zmd %显示输出采样值、系统实际输出值、模型输出值

%分离变量

a1=c(1,:); a2=c(2,:); b1=c(3,:); b2=c(4,:);%分离出a1、a2、b1、b2

d1=c(5,:); d2=c(6,:); d3=c(7,:); %分离出d1、d2、d3

ea1=e(1,:); ea2=e(2,:); eb1=e(3,:); eb2=e(4,:); %分离出a1、a2、b1、b2的收敛情况

ed1=e(5,:); ed2=e(6,:); ed3=e(7,:); %分离出d1 、d2 、d3的收敛情况

figure(2);%画第二个图形

i=1:60;

plot(i,a1,'r',i,a2,'b',i,b1,'k',i,b2,'y',i,d1,'g',i,d2,'c',i,d3,'m')%画出各个被辨识参数

title('递推增广最小二乘辨识方法')%标题

figure(3);%画出第三个图形

i=1:60;

plot(i,ea1,'r',i,ea2,'b',i,eb1,'k',i,eb2,'y',i,ed1,'g',i,ed2,'c',i,ed2,'m')%画出各个参数收敛情况

title('辨识误差')%标题

系统辨识最小二乘Matlab仿真

系统辨识和最小二乘参数估计Matlab仿真 一、系统辨识 在控制系统的分析中,首先要建立系统的数学模型,控制系统的数学模型是定量描述系统或过程内部物理量(或变量)之间关系的数学表达式。 一般来说,建立控制系统数学模型有两种基本方法: (1)机理建模(白箱模型):即根据系统内在运行机制、物料和能量守恒等物理学、化学规律建立系统的数学模型,一般步骤如下: Step1:根据系统工作原理及其在控制系统中的作用,确定输入和输出; Step2:根据物料和能量守恒等关系列写基本方程式; Step3:消去中间量; Step4:获得系统模型; (2)实验法建模(黑箱模型):即对于机理尚不清楚或机理过于复杂的系统,可以人为的对其施加某种测试信号,并记录其输出响应,或者记录正常运行时的输入输出数据,然后利用这些输入输出数据确定系统模型结构和参数。 多年来,系统辨识已经发展为一门独立学科分支,通过系统辨识建立一个对象的数学模型,通常包括两方面的工作:一是模型结构的确定(模型的类型、阶次),二是模型参数估计。 根据时间是否连续,参数模型又可以分为连续时间系统模型和离散时间系统参数模型,这两类模型均可采用输入输出模型和状态空间模型描述,离散系统采用差分方程描述,以单输入单输出(SISO)离散系统参数模型为例。 1.确定性模型 SISO系统确定性模型可表示为: u(k)和y(k)分别为输入和输出,d为纯延时。 2.随机性模型 如果受到随机扰动,则式子可写为: 为系统随机扰动,其结构如图:

系统辨识的一般步骤如图: 从图中可以看出,利用辨识的方法建立系统数学模型,从实验设计到模型获得,需要这些步骤。 二、最小二乘参数估计 1.批处理最小二乘 考虑以下CAR模型:

极大似然参数辨识方法

2 极大似然参数辨识方法 极大似然参数估计方法是以观测值的出现概率为最大作为准则的,这是一种很普遍的参数估计方法,在系统辨识中有着广泛的应用。 2.1 极大似然原理 设有离散随机过程}{k V 与未知参数θ有关,假定已知概率分布密度)(θk V f 。如果我们得到n 个独立的观测值,21,V V …n V ,,则可得分布密度)(1θV f ,)(2θV f ,…,)(θn V f 。要求根据这些观测值来估计未知参数θ,估计的准则是观测值{}{k V }的出现概率为最大。为此,定义一个似然函数 ) ()()(),,,(2121θθθθn n V f V f V f V V V L = (2.1.1) 上式的右边是n 个概率密度函数的连乘,似然函数L 是θ的函数。如果L 达到极大值,}{k V 的出现概率为最大。因此,极大似然法的实质就是求出使L 达到极大值的θ的估值∧ θ。为了便于求∧ θ,对式(2.1.1)等号两边取对数,则把连乘变成连加,即 ∑== n i i V f L 1)(ln ln θ (2.1.2) 由于对数函数是单调递增函数,当L 取极大值时,lnL 也同时取极大值。求式(2.1.2)对θ的偏导数,令偏导数为0,可得 0ln =??θL (2.1.3) 解上式可得θ的极大似然估计ML ∧ θ。 2.2 系统参数的极大似然估计 设系统的差分方程为 )()()()()(1 1 k k u z b k y z a ξ+=-- (2.2.1) 式中 111()1...n n a z a z a z ---=+++ 1101()...n n b z b b z b z ---=+++ 因为)(k ξ是相关随机向量,故(2.2.1)可写成 )()()()()()(1 11k z c k u z b k y z a ε---+= (2.2.2) 式中 )()()(1 k k z c ξε=- (2.2.3) n n z c z c z c ---+++= 1 11 1)( (2.2.4) )(k ε是均值为0的高斯分布白噪声序列。多项式)(1-z a ,)(1-z b 和)(1-z c 中的系数n n c c b b a a ,,,,,10,1和序列)}({k ε的均方差σ都是未知参数。 设待估参数

系统辨识方法

系统辨识方学习总结 一.系统辨识的定义 关于系统辨识的定义,Zadeh是这样提出的:“系统辨识就是在输入和输出数据观 测的基础上,在指定的一组模型类中确定一个与所测系统等价的模型”。L.Ljung也给 “辨识即是按规定准则在一类模型中选择一个与数据拟合得最好的模型。出了一个定义: 二.系统描述的数学模型 按照系统分析的定义,数学模型可以分为时间域和频率域两种。经典控制理论中微 分方程和现代控制方法中的状态空间方程都是属于时域的范畴,离散模型中的差分方程 和离散状态空间方程也如此。一般在经典控制论中采用频域传递函数建模,而在现代控 制论中则采用时域状态空间方程建模。 三.系统辨识的步骤与内容 (1)先验知识与明确辨识目的 这一步为执行辨识任务提供尽可能多的信息。首先从各个方面尽量的了解待辨识的 系统,例如系统飞工作过程,运行条件,噪声的强弱及其性质,支配系统行为的机理等。 对辨识目的的了解,常能提供模型类型、模型精度和辨识方法的约束。 (2)试验设计 试验设计包括扰动信号的选择,采样方法和间隔的决定,采样区段(采样数据长度 的设计)以及辨识方式(离线、在线及开环、闭环等的考虑)等。主要涉及以下两个问 题,扰动信号的选择和采样方法和采样间隔 (3)模型结构的确定 模型类型和结构的选定是决定建立数学模型质量的关键性的一步,与建模的目的, 对所辨识系统的眼前知识的掌握程度密切相关。为了讨论模型和类型和结构的选择,引 入模型集合的概念,利用它来代替被识系统的所有可能的模型称为模型群。所谓模型结 构的选定,就是在指定的一类模型中,选择出具有一定结构参数的模型M。在单输入单 输出系统的情况下,系统模型结构就只是模型的阶次。当具有一定阶次的模型的所有参 数都确定时,就得到特定的系统模型M,这就是所需要的数学模型。 (4)模型参数的估计 参数模型的类型和结构选定以后,下一步是对模型中的未知参数进行估计,这个阶 段就称为模型参数估计。

最小二乘法在系统辨识中的应用

最小二乘法在系统辨识中的应用 王文进 控制科学与控制工程学院 控制理论与控制工程专业 2009010211 摘要:在实际的工程中,经常要对一个系统建立数学模型。很多时候,要面对一个未知的系统,对于这些未知系统,我们所知道的仅仅是它们的一些输入输出数据,我们要根据这些测量的输入输出数据,建立系统的数学模型。由此诞生了系统辨识这门科学,系统辨识就是研究怎样利用对未知系统的输入输出数据建立描述系统的数学模型的科学。系统辨识在工程中的应用非常广泛,系统辨识的方法有很多种,最小二乘法是一种应用及其广泛的系统辨识方法。本文主要讲述了最小二乘估计在系统辨识中的应用。 首先,为了便于介绍,用一个最基本的单输入单输出模型来引入系统辨识中的最小二乘估计。 例如:y = ax + (1) 其中:y、x 可测,为不可测的干扰项,a未知参数。通过N 次实验,得到测量数据y k和x k ,其中k=1、2、3、…,我们所需要做的就是通过这N次实验得到的数据,来确定未知参数a 。在忽略不可测干扰项的前提下,基本的思想就是要使观测点y k和由式(1)确定的估计点y的差的平方和达到最小。用公式表达出来就是要使J最小: 确定未知参数a的具体方法就是令: J a = 0 , 导出 a 通过上面最基本的单输入单输出模型,我们对系统辨识中的最小二乘法有了初步的了解,但在实际的工程中,系统一般为多输入系统,下面就用一个实际的例子来分析。在接下来的表述中,为了便于区分,向量均用带下划线的字母表示。 水泥在凝固过程中,由于发生了一系列的化学反应,会释放出一定的热量。若水泥成分及其组成比例不同,释放的热量也会不同。 水泥凝固放热量与水泥成分的关系模型如下: y = a0+ a1x1+…+ a n x n + 其中,y为水泥凝固时的放热量(卡/克);x1~x2为水泥的几种成分。

实验6 数据拟合及参数辨识方法

实验6 数据拟合及参数辨识方法 一、实验目的及意义 [1] 了解最小二乘拟合的基本原理和方法; [2] 掌握用MATLAB作最小二乘多项式拟合和曲线拟合的方法; [3] 通过实例学习如何用拟合方法解决实际问题,注意与插值方法的区别。 [4] 了解各种参数辨识的原理和方法; [5] 通过范例展现由机理分析确定模型结构,拟合方法辨识参数,误差分析等求解实 际问题的过程; 通过该实验的学习,掌握几种基本的参数辨识方法,了解拟合的几种典型应用,观察不同方法得出的模型的准确程度,学习参数的误差分析,进一步了解数学建模过程。这对于学生深入理解数学概念,掌握数学的思维方法,熟悉处理大量的工程计算问题的方法具有十分重要的意义。 二、实验内容 1.用MATLAB中的函数作一元函数的多项式拟合与曲线拟合,作出误差图; 2.用MATLAB中的函数作二元函数的最小二乘拟合,作出误差图; 3.针对预测和确定参数的实际问题,建立数学模型,并求解。 三、实验步骤 1.开启软件平台——MATLAB,开启MATLAB编辑窗口; 2.根据各种数值解法步骤编写M文件 3.保存文件并运行; 4.观察运行结果(数值或图形); 5.根据观察到的结果写出实验报告,并浅谈学习心得体会。 四、实验要求与任务 根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论→心得体会) 应用实验 1.旧车价格预测 某年美国旧车价格的调查资料如下表,其中x i表示轿车的使用年数,y i表示相应的平均价格。试分析用什么形式的曲线来拟合上述的数据,并预测使用4.5年后轿车的平均价

系统辨识最小二乘参数估计matlab

最小二乘参数估计 摘要: 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。这种算法在使用时,占用内存大,离线辨识,观测被辨识对象获得的新数据往往是逐次补充到观测数据集合中去的。在应用一次完成算法时,如果要求在每次新增观测数据后,接着就估计出系统模型的参数,则需要每次新增数据后要重新求解矩阵方程()Z l T l l T l ΦΦΦ-∧=1θ。 最小二乘辩识方法在系统辩识领域中先应用上已相当普及,方法上相当完善,可以有效的用于系统的状态估计,参数估计以及自适应控制及其他方面。 关键词: 最小二乘(Least-squares ),系统辨识(System Identification ) 目录: 1.目的 (1) 2.设备 (1) 3引言 (1) 3.1 课题背景 (1) 4数学模型的结构辨识 (2) 5 程序 (3) 5.1 M 序列子函数 ................................................................................. 错误!未定义书签。 5.2主程序............................................................................................... 错误!未定义书签。 6实验结果: ................................................................................................................................... 3 7参考文献: ................................................................................................. 错误!未定义书签。 1.目的 1.1掌握系统辨识的理论、方法及应用 1.2熟练Matlab 下最小二乘法编程 1.3掌握M 序列产生方法 2.设备 PC 机1台(含Matlab 软件) 3引言 3.1 课题背景 最小二乘理论是有高斯(K.F.Gauss )在1795年提出:“未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。”这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最

系统全参数辨识+matlab+实现

实用标准文案 4. 设某物理量Y 与X 满足关系式Y=aX 2+bX+c ,实验获得一批数据如下表,试辨识模型参数a ,b 和c 。(50分) 报告要求:要有问题描述、参数估计原理、程序流程图、程序清单,最后给出结果及分析。 (1)问题描述: 由题意知,这是一个已知模型为Y=aX 2+bX+c ,给出了10组实验输入输出 数据,要求对模型参数a ,b ,c 进行辨识。这里对该模型参数辨识采用递推最小二乘法。 (2)参数估计原理 对该模型参数辨识采用递推最小二乘法,即RLS ( recurisive least square ), 它是一种能够对模型参数进行在线实时估计的辨识方法。 其基本思想可以概括为:新的估计值)(?k θ =旧的估计值)1(?-k θ+修正项 下面将批处理最小二乘法改写为递推形式即递推最小二乘参数估计的计算方法。 批处理最小二乘估计θ ?为Y T T ΦΦΦ=-1)(?θ,设k 时刻的批处理最小二乘估计为: k T k k T k Y ΦΦΦ=-1)(?θ令111)]1()()1([)()(----+-=ΦΦ=k k k P k P T k T k ?? K 时刻的最小二乘估计可以表示为 k T k Y k P k Φ=)()(?θ=)]()()[(11k y k Y k P k T k ?+Φ-- =)]1(?)()()[()1(? --+-k k k y k K k T θ ?θ ;式中)()()(k k P k K ?=,因为要推导出P(k)和K(k)的递推方程,因此这里介绍一下矩阵求逆引理:设A 、(A+BC )和

()[()()](1)T P k I K k k P k ?=-- ② (1)() ()1()(1)()T P k k K k k P k k ???-= +- ③ (3)程序流程图 (如右图1所示) 递推最小二乘法(RLS )步骤如下: 已知:a n 、b n 和d 。 Step 1 :设置初值)0(?θ 和P(0),输入初始数据; Step2 :采样当前输出y(k)、和输入u(k) Step3 :利用上面式①②③计算 )(k K 、)(?k θ和)(k P ; Step4 :k →k+1,返回step2,继续循环。 图1 程序流程 图 (4) Matlab 仿真程序、输出参数估计值、 参数估计变化轨迹图像、结果分析

系统辨识-最小二乘法MATLAB仿真

《系统辨识》基于MATLAB的最小二乘法(一阶)的仿真 clc clear % ①白噪声的生成过程如下:e=randn(1,500); e=e/std(e); e=e-mean(e); A=0; %白噪声的均值为0 B=sqrt(0.1); %白噪声的方差为0.1 e=A+B*e; %绘制白噪声图 k=1:500; subplot(4,1,1) %画四行一列图形窗口中的第一个图形 plot(k,e,'r'); xlabel('k'), ylabel('e');title('(0,1)均匀分布的随机序列') % ②生成M序列的过程如下:X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初始状态(0101), Yi寄存器的各级输出 m=500; %M序列的总长度 for i=1:m Y4=X4; Y3=X3; Y2=X2; Y1=X1; X4=Y3; X3=Y2; X2=Y1; X1=xor(Y3,Y4); %异或运算 if Y4==0 U(i)=-1; else U(i)=Y4; end end M=U; u=U; %绘制M序列图? i1=i k=1:1:i1; subplot(4,1,2) %画四行一列图形窗口中的第二个图形 plot(k,U,k,U,'rx') stem(M) xlabel('k') ylabel('M序列') title('移位寄存器产生的M序列') % ③参数估计的过程如下: %绘制参数估计的相关图形 z=zeros(1,500); %定义输出观测值的长度 for k=2:500 z(k)=0.9*z(k-1)+u(k-1)+e(k);%用理想输出值作为观测值 end subplot(4,1,3) %画四行一列图形窗口中的第三个图形 i=1:1:500; %横坐标的范围从1到500,步长为1 plot(i,z) %图形的横坐标是采样时刻i,纵坐标是输出观测值Z, 图形格式为连续曲线

用matlab实现最小二乘递推算法辨识系统参数

用matlab实现最小二乘递推算法辨识系统参 数 自动化系统仿真实验室指导教师: 学生姓名班级计082-2 班学号撰写时间: 全文结束》》-3-1 成绩评定: 一.设计目的 1、学会用Matlab实现最小二乘法辨识系统参数。 2、进一步熟悉Matlab的界面及基本操作; 3、了解并掌握Matlab中一些函数的作用与使用;二.设计要求最小二乘递推算法辨识系统参数,利用matlab编程实现,设初始参数为零。z(k)-1、5*z(k-1)+0、7*z(k-2)=1*u(k-1)+0、5*u(k-2)+v(k); 选择如下形式的辨识模型:z(k)+a1*z(k- 1)+a2*z(k-2)=b1*u(k-1)+b2*u(k-2)+v(k);三.实验程序 m=3;N=100;uk=rand(1,N);for i=1:Nuk(i)=uk(i)*(-1)^(i-1);endyk=zeros(1,N); for k=3:N yk(k)=1、5*yk(k-1)-0、 7*yk(k-2)+uk(k-1)+0、5*uk(k-2); end%j=100;kn=0;%y=yk(m:j);%psi=[yk(m-1:j-1);yk(m-2:j-2);uk(m-1:j-1);uk(m-2:j- 2)];%pn=inv(psi*psi);%theta=(inv(psi*psi)*psi*y);theta=[0 ;0;0;0];pn=10^6*eye(4);for t=3:Nps=([yk(t-1);yk(t-

2);uk(t-1);uk(t-2)]);pn=pn- pn*ps*ps*pn*(inv(1+ps*pn*ps));theta=theta+pn*ps*(yk(t)-ps*theta);thet=theta;a1=thet(1);a2=thet(2);b1=thet(3);b2= thet(4); a1t(t)=a1;a2t(t)=a2;b1t(t)=b1;b2t(t)=b2;endt=1:N;plot(t,a 1t(t),t,a2t(t),t,b1t(t),t,b2t(t));text(20,1、 47,a1);text(20,-0、67,a2);text(20,0、97,b1);text(20,0、47,b2);四.设计实验结果及分析实验结果图:仿真结果表明,大约递推到第步时,参数辨识的结果基本到稳态状态,即a1=1、5999,b1=1,c1=0、5,d1=-0、7。五、设计感受这周的课程设计告一段落了,时间短暂,意义重大。通过这次次练习的机会,重新把matlab课本看了一遍,另外学习了系统辨识的有关内容,收获颇丰。对matlab的使用更加纯熟,也锻炼了自己在课本中搜索信息和知识的能力。在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。同时我也进一步认识了matlab软件强大的功能。在以后的学习和工作中必定有很大的用处。

基于最小二乘法的系统参数辨识

基于最小二乘法的系统参数辨识 吴令红,熊晓燕,张涛 太原理工大学机械电子研究所,太原 (030024) E-mail lhwu0818@https://www.doczj.com/doc/3e1026455.html, 摘要:系统辨识是自动控制学科的一个重要分支,由于其特殊作用,已经广泛应用于各种领域,尤其是复杂系统或参数不容易确定的系统的建模。过去,系统辨识主要用于线性系统的建模,经过多年的研究,已经形成成熟的理论。但随着社会、科学的发展,非线性系统越来越受到人们的关注,其控制与模型之间的矛盾越来越明显,因而非线性系统的辨识问题也越来越受到重视,其辨识理论不断发展和完善本。文重点介绍了系统参数辨识中最小二乘法的基本原理,并通过悬臂梁模型的辨识实例,具体说明了基于最小二乘法参数辨识在Matlab 中的实现方法。结果表明基于最小二乘法具有算法简单、精度较高等优点。 关键词:系统辨识;参数辨识;滑动平均模型(ARX);最小二乘法;Matlab 中图分类号:TH-9 1. 引言 所谓辨识就是通过测取研究对象在人为输入作用下的输出响应,或正常运行时的输入输出数据记录,加以必要的数据处理和数学计算,估计出对象的数学模型。这是因为对象的动态特性被认为必然表现在它的变化着的输入输出数据之中,辨识只不过是利用数学的方法从数据序列中提炼出对象的数学模型而已[1]。 最小二乘法是系统参数辨识中最基本最常用的方法。最小二乘法因其算法简单、理论成熟和通用性强而广泛应用于系统参数辨识中。本文基于悬臂梁的实测数据,介绍了最小二乘法的参数辨识在Matlab中的实现。 2. 系统辨识 一般而言,建立系统的数学模型有两种方法:激励分析法和系统辨识法。前者是按照系统所遵循的物化(或社会、经济等)规律分析推导出模型。后者则是从实际系统运行和实验数据处理获得模型。如图1所示,系统辨识就是从系统的输入输出数据测算系统数学模型的理论和方法。更进一步的定义是L.A.Zadeh曾经与1962年给出的,即“系统辨识是在输入和输出的基础上,从系统的一类系统范围内,确立一个与所实验系统等价的系统”。另外,系统辨识还应该具有3个基本要素,即模型类、数据和准则[5]。被辨识系统模型根据模型形式可分为参数模型和非参数模型两大类。所谓参数模型是指微分方程、差分方程、状态方程等形式的数学模型;而非参数模型是指频率响应、脉冲响应、传递函数等隐含参数的数学模型。在辨识工程中,模型的确定主要根据经验对实际对象的特性进行一定程度上的假设,如对象的模型是线性的还是非线性的、是参数模型还是非参数模型等。在模型确定之后,就可以根据对象的输入输出数据,按照一定的辨识算法确定模型的参数[4]。 y 图1 被研究的动态系统

系统辨识之最小二乘法

方法一、最小二乘一次性算法: 首先对最小二乘法的一次性辨识算法做简要介绍如下: 过程的黑箱模型如图所示: 其中u(k)和z(k)分别是过程的输入输出,)(1-z G 描述输入输出关系的模型,成为过程模型。 过程的输入输出关系可以描述成以下最小二乘格式: )()()(k n k h k z T +=θ (1) 其中z(k)为系统输出,θ是待辨识的参数,h(k)是观测数据向量,n(k) 是均值为0的随机噪声。 利用数据序列{z (k )}和{h (k )}极小化下列准则函数: ∑=-=L k T k h k z J 12])()([)(θθ (2) 使J 最小的θ的估计值^ θ,成为最小二乘估计值。 具体的对于时不变SISO 动态过程的数学模型为 )()()()()(11k n k u z B k z z A +=-- (3) 应该利用过程的输入、输出数据确定)(1-z A 和 )(1-Z B 的系数。 对于求解θ的估计值^θ,一般对模型的阶次 a n , b n 已定,且b a n n >;其次将(3)模 型写成最小二乘格式 )()()(k n k h k z T +=θ (4) 式中 ?????=------=T n n T b a b a b b b a a a n k u k u n k z k z k h ],,,,,,,[)](,),1(),(,),1([)(2121 θ (5)

L k ,,2,1 = 因此结合式(4)(5)可以得到一个线性方程组 L L L n H Z +=θ (6) 其中 ???==T L T L L n n n n L z z z z )](),2(),1([)](),2(),1([ (7) 对此可以分析得出,L H 矩阵的行数为),max(b a n n L -,列数b a n n +。 在过程的输入为2n 阶次,噪声为方差为1,均值为0的随机序列,数据长度)(b a n n L +>的情况下,取加权矩阵L Λ为正定的单位矩阵I ,可以得出: L T L L T L z H H H 1^ )(-=θ (8) 其次,利用在Matlab 中编写M 文件,实现上述算法。 此次算法的实现,采用6阶M 序作为过程黑箱的输入;噪声采用方差为1,均值为0的随机数序列;黑箱模型假设为:y(k)-1.5y(k-1)+0.7y(k-2)=2u(k-1)+0.5u(k-2),则系统输出为Z(k)-1.5Z(k-1)+0.7Z(k-2)=2U(k-1)+0.5U(k-2)+n (k );模型的阶次2,2==b a n n ;数据长度取L=200。 程序清单如下见附录:最小二乘一次性算法Matlab 程序 运行结果如下: 图1 最小二乘一次性算法参数真值与估计值 其中re 为真值,ans 为估计值^ θ 结果发现辨识出的参数与真值之间存在细微误差,这是由于系统噪声以及数据长度L 的限制引起的,最小二乘辨识法是一种无偏估计方法。 方法二、最小二乘递推算法: 最小二乘一次性算法计算量大,并且浪费存储空间,不利于在线应用,由此引出最小

基于最小二乘法的系统辨识的设计与开发(整理版)

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 基于最小二乘法的系统辨识的设计与开发(整理版)课程(论文)题目: 基于最小二乘法的系统辨识摘要: 最小二乘法是一种经典的数据处理方法。 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。 在系统辨识领域中, 最小二乘法是一种得到广泛应用的估计方法, 可用于动态系统, 静态系统, 线性系统, 非线性系统。 在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。 关键词: 最小二乘法;系统辨识;参数估计 1 引言最小二乘理论是有高斯( K.F.Gauss)在 1795 年提出: 未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。 这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最好拟合的数学模型。 递推最小二乘法是在最小二乘法得到的观测数据的基础上,用新引入的数据对上一次估计的结果进行修正递推出下一个参数估计值,直到估计值达到满意的精确度为止。 1 / 10

对工程实践中测得的数据进行理论分析,用恰当的函数去模拟数据原型是一类十分重要的问题,最常用的逼近原则是让实测数据和估计数据之间的距离平方和最小,这即是最小二乘法。 最小二乘法是一种经典的数据处理方法。 在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。 2 最小二乘法的系统辨识设单输入单输出线性定常系统的差分方程为: 1),()()() 1()(01knkubkubnkxakxakxnn ( 1)上式中: )(ku为输入信号;)(kx为理论上的输出值。 )(kx只有通过观测才能得到,在观测过程中往往附加有随机干扰。 )(kx的观测值)(ky可表示为 ( 2)将式( 2)代入式( 1)得 1()()() 1()(101kubkubnkyakyakyn (3) 我们可能不知道)(kn的统计特性,在这种情况下,往往把)(kn看做均值为 0 的白噪声。 设 ( 4)则式( 3)可以写成 (5) 在测量)(ku时也有测量误差,系统内部也可能有噪声,应当

2003版系统辨识最小二乘法大作业

西北工业大学系统辩识大作业 题目:最小二乘法系统辨识

一、 问题重述: 用递推最小二乘法、加权最小二乘法、遗忘因子法、增广最小二乘法、广义最小二乘法、辅助变量法辨识如下模型的参数 离散化有 z^4 - 3.935 z^3 + 5.806 z^2 - 3.807 z + 0.9362 ---------------------------------------------- = z^4 - 3.808 z^3 + 5.434 z^2 - 3.445 z + 0.8187 噪声的成形滤波器 离散化有 4.004e-010 z^3 + 4.232e-009 z^2 + 4.066e-009 z + 3.551e-010 ----------------------------------------------------------------------------- = z^4 - 3.808 z^3 + 5.434 z^2 - 3.445 z + 0.8187 采样时间0.01s 要求:1.用Matlab 写出程序代码; 2.画出实际模型和辨识得到模型的误差曲线; 3.画出递推算法迭代时各辨识参数的变化曲线; 最小二乘法: 在系统辨识领域中 ,最小二乘法是一种得到广泛应用的估计方法 ,可用于动态 ,静态 , 线性 ,非线性系统。在使用最小二乘法进行参数估计时 ,为了实现实时控制 ,必须优化成参数递推算法 ,即最小二乘递推算法。这种辨识方法主要用于在线辨识。MATLAB 是一套高性能数字计算和可视化软件 ,它集成概念设计 ,算法开发 ,建模仿真 ,实时实现于一体 ,构成了一个使用方便、界面友好的用户环境 ,其强大的扩展功能为各领域的应用提供了基础。对 4324326.51411.5320120232320 Y s s s s G U s s s s ++++== ++++432 120120232320 E N W s s s s == ++++

系统辨识最小二乘法大作业

系统辨识最小二乘法大作业 系统辨识大作业最小二乘法及其相关估值方法应用 学院:自动化学院 专业:信息工程 学号:2007302171 姓名:马志强 日期:2010.11.14 基于最小二乘法的多种系统辨识方法研究 1. 最小二乘法的引出 在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。 设单输入-单输出线性定长系统的差分方程为 (5.1.1) 式中:为随机干扰;为理论上的输出值。只有通过观测才能得到,在观测过程中往往附加有随机干扰。的观测值可表示为

(5.1.2) 式中:为随机干扰。由式(5.1.2)得 (5.1.3) 将式(5.1.3)带入式(5.1.1)得 (5.1.4) 我们可能不知道的统计特性,在这种情况下,往往把看做均值为0的白噪声。 设 (5.1.5) 则式(5.1.4)可写成 (5.1.6) 在观测时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。因此假定不仅包含了的测量误差,而且包含了的测量误差和系统内部噪声。假定是不相关随机序列(实际上是相关随机序列)。 现分别测出个随机输入值,则可写成个方程,即 上述个方程可写成向量-矩阵形式 (5.1.7) 设 则式(5.1.7)可写为 (5.1.8) 式中:为维输出向量;为维噪声向量;为维参数向量;为测量矩阵。因此式(5.1.8)是一个含有个未知参数,由个方程组成的联立方程组。如果,方程数少于未知数数目,则方程组的解是不定的,不能唯一地确定参数向量。如果,方程组正好与未知数数目相等,当噪声时,就能准确地解出 (5.1.9) 如果噪声,则

(5.1.10) 从上式可以看出噪声对参数估计是有影响的,为了尽量较小噪声对估值的影响。在给定输出向量和测量矩阵的条件下求系统参数的估值,这就是系统辨识问题。可用最小二乘法来求的估值,以下讨论最小二乘法估计。 2. 最小二乘法估计算法 设表示的最优估值,表示的最优估值,则有 (5.1.11) 写出式(5.1.11)的某一行,则有 (5.1.12) 设表示与之差,即 - (5.1.13) 式中 成为残差。把分别代入式(5.1.13)可得残差。设 则有 (5.1.14) 最小二乘估计要求残差的平方和为最小,即按照指数函数 (5.1.15) 为最小来确定估值。求对的偏导数并令其等于0可得 (5.1.16) (5.1.17) 由式(5.1.17)可得的最小二乘估计 (5.1.18) 3.递推最小二乘法 为了实现实时控制,必须采用递推算法,这种辨识方法主要用于在线辨识。 设已获得的观测数据长度为,将式(5.1.8)中的和分别用来代替, 即 (5.3.1) 用的最小二乘估计,则 (5.3.2)

最小二乘法

第3章 线性动态模型参数辨识-最小二乘法 3.1 辨识方法分类 根据不同的辨识原理,参数模型辨识方法可归纳成三类: ① 最小二乘类参数辨识方法,其基本思想是通过极小化如下准则函数来估计模型参数: min )()? (?== ∑=θ θL k k J 1 2ε 其中)(k ε代表模型输出与系统输出的偏差。典型的方法有最小二乘法、增广最小二乘法、辅助变量法、广义最小二乘法等。 ② 梯度校正参数辨识方法,其基本思想是沿着准则函数负梯度方向逐步修正模型参数,使准则函数达到最小,如随机逼近法。 ③ 概率密度逼近参数辨识方法,其基本思想是使输出z 的条件概率密度)|(θz p 最大限度地逼近条件0θ下的概率密度)|(0θz p ,即 )|()?|(0m a x θθz p z p ??→?。典型的方法是极大似然法。 3.2 最小二乘法的基本概念 ● 两种算法形式 ① 批处理算法:利用一批观测数据,一次计算或经反复迭代,以获得模型参数的估计值。 ② 递推算法:在上次模型参数估计值)(? 1-k θ的基础上,根据当前 获得的数据提出修正,进而获得本次模型参数估计值)(? k θ,广泛采用的递推算法形式为 () ()()()~()θθk k k k d z k =-+-1K h 其中)(? k θ表示k 时刻的模型参数估计值,K (k )为算法的增益,h (k -d ) 是由 观测数据组成的输入数据向量,d 为整数,)(~k z 表示新息。 ● 最小二乘原理

定义:设一个随机序列)},,,(),({L k k z 21∈的均值是参数θ 的线性函数 E{()}()T z k k θ=h 其中h (k )是可测的数据向量,那么利用随机序列的一个实现,使准则函数 21 ()[()()]L T k J z k k θθ==-∑h 达到极小的参数估计值θ? 称作θ的最小二乘估计。 ● 最小二乘原理表明,未知参数估计问题,就是求参数估计值θ? ,使序列的估计值尽可能地接近实际序列,两者的接近程度用实际序列与序列估计值之差的平方和来度量。 ● 如果系统的输入输出关系可以描述成如下的最小二乘格式 ()()()T z k k e k θ=+h 式中z (k )为模型输出变量,h (k )为输入数据向量,θ为模型参数向量,e (k )为零均值随机噪声。为了求此模型的参数估计值,可以利用上述最小二乘原理。根据观测到的已知数据序列)}({k z 和)}({k h ,极小化下列准则函数 21()[()()]L T k J z k k θθ==-∑h 即可求得模型参数的最小二乘估计值θ? 。 ● 最小二乘估计值应在观测值与估计值之累次误差的平方和达到最小值处,所得到的模型输出能最好地逼近实际系统的输出。 3.3 最小二乘问题的描述 (1) 考虑模型 )()()()()(11k e k u z B k z z A +=-- 式中u (k )和z (k ) 分别为过程的输入和输出变量,e (k )是均值为零、方差为2 n σ的随机噪声,)(1-z A 和)(1-z B 为迟延算子多项式,写成 A z a z a z a z B z b z b z b z n n n n a a b b ()()--------=++++=+++?????11122111221 (2) 假定模型阶次n a 和n b 为已知,且有b a n n ≥,也可设n n n b a ==, 并定义

基于最小二乘法的系统参数辨识

基于最小二乘法的系统参数辨识 研究生二队李英杰 082068 摘要:系统辨识是自动控制学科的一个重要分支,由于其特殊作用,已经广泛应用于各种领域,尤其是复杂系统或参数不容易确定的系统的建模。过去,系统辨识主要用于线性系统的建模,经过多年的研究,已经形成成熟的理论。但随着社会、科学的发展,非线性系统越来越受到人们的关注,其控制与模型之间的矛盾越来越明显,因而非线性系统的辨识问题也越来越受到重视,其辨识理论不断发展和完善本。文重点介绍了系统参数辨识中最小二乘法的基本原理,并通过热敏电阻阻值温度关系模型的辨识实例,具体说明了基于最小二乘法参数辨识在Matlab中的实现方法。结果表明基于最小二乘法具有算法简单、精度较高等优点。 1. 引言 所谓辨识就是通过测取研究对象在人为输入作用下的输出响应,或正常运行时的输入输出数据记录,加以必要的数据处理和数学计算,估计出对象的数学模型。这是因为对象的动态特性被认为必然表现在它的变化着的输入输出数据之中,辨识只不过是利用数学的方法从数据序列中提炼出对象的数学模型而已[1]。最小二乘法是系统参数辨识中最基本最常用的方法。最小二乘法因其算法简单、理论成熟和通用性强而广泛应用于系统参数辨识中。本文基于热敏电阻阻值与温度关系数据,介绍了最小二乘法的参数辨识在Matlab中的实现。 2. 系统辨识 一般而言,建立系统的数学模型有两种方法:激励分析法和系统辨识法。前者是按照系统所遵循的物化(或社会、经济等)规律分析推导出模型。后者则是从实际系统运行和实验数据处理获得模型。如图1 所示,系统辨识就是从系统的输入输出数据测算系统数学模型的理论和方法。更进一步的定义是L.A.Zadeh 曾经与1962 年给出的,即“系统辨识是在输入和输出的基础上,从系统的一类系统范围内,确立一个与所实验系统等价的系统”。另外,系统辨识还应该具有3 个基本要素,即模型类、数据和准则[5]。被辨识系统模型根据模型形式可分为参数模型和非参数模型两大类。所谓参数模型是指微分方程、差分方程、状态方程等形式的数学模型;而非参数模型是指频率响应、脉冲响应、传递函数等隐含参数的数学模型。在辨识工程中,模型的确定主要根据经验对实际对象的特性进行一定程度上的假设,如对象的模型是线性的还是非线性的、是参数模型还是非参数模型等。在模型确定之后,就可以根据对象的输入输出数据,按照一定的辨识算法确定模型的参数[4]。 图1 被研究的动态系统 3. 最小二乘法(LS)参数估计方法 对于参数模型辨识结构,系统辨识的任务是参数估计,即利用输入输出数据估计这些参数,建立系统的数学模型。在参数估计中最常用的是最小二乘法(LS)、

系统辨识最小二乘法大作业 (2)

系统辨识大作业 最小二乘法及其相关估值方法应用 学院:自动化学院 学号: 姓名:日期:

基于最小二乘法的多种系统辨识方法研究 一、实验原理 1.最小二乘法 在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。 设单输入-单输出线性定长系统的差分方程为 (5.1.1) 式中:为随机干扰;为理论上的输出值。只有通过观测才能得到,在观测过程中往往附加有随机干扰。的观测值可表示为 (5.1.2) 式中:为随机干扰。由式(5.1.2)得 (5.1.3) 将式(5.1.3)带入式(5.1.1)得 (5.1.4) 我们可能不知道的统计特性,在这种情况下,往往把看做均值为0的白噪声。 设 (5.1.5) 则式(5.1.4)可写成 (5.1.6) 在观测时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。因此假定不仅包含了的测量误差,而且包含了的测量误差和系统内部噪声。假定是不相关随机序列(实际上是相关随机序列)。 现分别测出个随机输入值,则可写成个方程,即 上述个方程可写成向量-矩阵形式 (5.1.7) 设 则式(5.1.7)可写为

(5.1.8) 式中:为维输出向量;为维噪声向量;为维参数向量;为测量矩阵。因此式(5.1.8)是一个含有个未知参数,由个方程组成的联立方程组。如果,方程数少于未知数数目,则方程组的解是不定的,不能唯一地确定参数向量。如果,方程组正好与未知数数目相等,当噪声时,就能准确地解出 (5.1.9) 如果噪声,则 (5.1.10) 从上式可以看出噪声对参数估计是有影响的,为了尽量较小噪声对估值的影响。在给定输出向量和测量矩阵的条件下求系统参数的估值,这就是系统辨识问题。可用最小二乘法来求的估值,以下讨论最小二乘法估计。 2.最小二乘法估计算法 设表示的最优估值,表示的最优估值,则有 (5.1.11) 写出式(5.1.11)的某一行,则有 (5.1.12) 设表示与之差,即 - (5.1.13)式中 成为残差。把分别代入式(5.1.13)可得残差。设 则有 (5.1.14) 最小二乘估计要求残差的平方和为最小,即按照指数函数 (5.1.15) 为最小来确定估值。求对的偏导数并令其等于0可得 (5.1.16) (5.1.17)

系统辨识介绍

系统辨识 系统辨识是研究如何用实验研究分析的办法来建立待求系统数学模型的一门学科。Zadeh(1962)指出:“系统辨识是在输入和输出数据的基础上,从一类模型中确定一个与所观测系统等价的模型”。Ljung(1978)也给出如下定义:“系统辨识有三个要素——数据、模型类和准则,即根据某一准则,利用实测数据,在模型类中选取一个拟合得最好的模型”。实际上,系统的数学模型就是对该系统动态本质的一种数学描述,它向人们提示该实际系统运行中的有关动态信息。但系统的数学模型总比真实系统要简单些,因此,它仅是真实系统降低了复杂程度但仍保留其主要特征的一种近似数学描述。 建立数学模型通常有两种方法,即机理分析建模和实验分析建模。机理分析建模就是根据系统内部的物理和化学过程,概括其内部变化规律,导出其反映系统动态行为并表征其输入输出关系的数学方程(即机理模型)。但有些复杂过程,人们对其复杂机理和内部变化规律尚未完全掌握(如高炉和转炉的冶炼过程等)。因此,用实验分析方法获得表征过程动态行为的输入输出数据,以建立统计模型,实际上是系统辨识的主要方面,它可适用于任何结构的复杂过程。 系统辨识的主要步骤和内容有以下几个方面。 1、辨识目的 根据对系统模型应用场合的不同,对建模要求也有所不同。例如,对理论模型参数的检验及故障检测和诊断用的模型则要求建得精确些。而对于过程控制和自适应控制等用的模型的精度则可降低一些,因为这类模型所关心的主要是控制效果的好坏,而不是所估计的模型参数是否收敛到真值。 2、验前知识 验前知识是在进行辨识模型之前对系统机理和操作条件、建模目的等了解的统称。有些场合为了获得足够的验前知识还要对系统进行一些预备性的实验,以便获得一些必要的系统参数,如系统中主要的时间常数和纯滞后时间,是否存在非线性,参数是否随时间变化,允许输入输出幅度和过程中的噪声水平等。 3、实验设计 实验设计的主要内容是选择和决定:输入信号的类型、产生方法、引入点、采样周期、在线或离线辨识、信号的滤波等。由于实际中对实验条件存在种种限制,如对输入和输出的幅度、功率、变化率的限制,最大采样速度的限制,实验进行时间、次数或能够取得的和用于建模的样本总个数的限制等。因此,怎样在这些限制条件下设计实验,以便在尽可能短的时间获得尽可能多的能反映系统本质特性的有用信息,是实验设计的中心任务。 4、模型类别的确定 为确定模型类别,需要在验前知识的基础上做必要的假定,即确定系统数学模型的具体表达形式。一般是根据对象的性质和控制的方法决定用微分方程还是用差分方程,脉冲响应函数还是用状态方程,线性模型还是非线性模型,定常参数模型还是时变参数模型,随机模型还是确定性模型,单一模型还是多层混杂模型等等,这就是所谓模型类别的确定问题。数学模型的具体表达形式确定后,才能进一步确定系统模型的参数。

相关主题
文本预览
相关文档 最新文档