基于最小二乘法的系统辨识的设计与开发(整理版)
最小二乘法在系统辨识中的应用(包含相关的三种算法)

但是,数据向量)(kfh中的变量均需要按照(3.2.2)式计算,然而噪声模型)(1zC并不知道。
为此需要用迭代的方法来估计)(1zC。
令)()(1z)(1kvCke(3.2.5)置,2[k],)()]3(),2(),1([)(31ccckekekekeபைடு நூலகம்h(3.2.6)就把噪声模型(3.2.5)也化成最小二乘格式)()()(kvkkeeeh由于上式的噪声已是白噪声,所以再次利用最小二乘法可获得噪声模型参数e的无偏估计。
通过极小化(1.1.4)式来计算的方法称作最小二乘法,未知模型参数最可能的值是在实际观测值与计算值之累次误差的平方和达到最小处所得到的,这种模型输出能最好地接近实际过程的输出。
2、辨识原理考虑模型(1.1.2)式的辨识问题,其中)(kz和)(kh都是可观测的数据,是待估计参数,准则函数取(1.1.4)根据(1.1.3)的定义,准则函数)(J可写成二次型的形式)()()(HzHzllllJ(1.2.1)显然上式中的Hl代表模型的输出,或者说是过程的输出预报值。
)()() 1()()()()()(1111kkkkkiikkihhPhhhhP(2.2.3)令:
] ) 1(),2 (z),1 (z[1kzkz则:
] )i()()[1()() 1(1111111ikkkkkzikkhPzHHH于是有i111)()() 1() 1(kizikkhP(2.2.4)令] )k(),2 (z),1 (z[zkz利用(2.2.3)和(2.2.4)式,可得)]1()()()[()() 1()}()() 1()]()()(){[()]()() 1() 1()[(] )i()()[()()(1111ikkkzkkkkzkkkkkkkzkkkkzikkkkkkkhhphhhPPhPPhPzHHH(2.2.5)引进增益矩阵)(kK,定义为)()()(kkkhPK(2.2.6)则(2.2.5)式写成)]1()()()[() 1()(kkkzkkkhK(2.2.7)进一步把(2.2.3)式写成11)]()() 1([)(kkkkhhPP(2.2.8)为了避免矩阵求逆运算,利用矩阵反演公式可将(2.2.8)式演变成) 1()]()([)]()() 1([)(11kkkkkkkPhKIhhPP(2.2.9)将(2.2.9)式代入(2.2.6)式,整理后有1] 1)() 1()()[() 1()(kkkkkkhPhhPK(2.2.10)综合(2.2.7)、(2.2.9)、(2.2.10)式便得到最小二乘参数估计递推算法。
系统辨识相关分析最小二乘

相关分析法辨识系统单位脉冲响应1辨识原理对于下图示的单输入单输出线性系统,其输入输出的因果关系可用卷积公式描述。
公式为:0()()()y t g x t d λλλ∞=-⎰把变量t 换成t +τ,上式两边同乘以x (t ),取时间的平均值,得11lim()(+)(){lim()(+)}22TTTTT T x t y t dt g x t x t dt d TTτλτλλ∞--→∞→∞=-⎰⎰⎰即 0()()()x y x R g R d τστλλ∞=-⎰上式即为维纳-霍夫方程,其给出了输入的自相关函数,输入、输出的互相关函数及脉冲响应函数三者之间的关系。
令x (t )为白噪声信号,则其自相关函数为:()(), ()()x x R k R k τδττλδτλ=-=-代入维纳-霍夫方程得:()()()()xy x R g R d kg τλτλλτ∞=-=⎰则有:()()xy R g kττ=这样,只要记录x(t)、y(t)的值,并计算它们的互相关函数,即可求得脉冲响应函数g(τ)。
在系统有正常输入的情形下,辨识脉冲响应的原理图如下图所示。
2辨识过程2.1预备实验以二阶系统22()2G s s s ++=作为辨识对象。
在实验前首先要进行预备实验,以了解系统特性。
通过简单阶跃响应确定系统过度过程时间T s 大约为11s ,如下图所示。
给系统施加不同周期的正弦信号,系统输出为输入的0.707倍时,确定截止频率f M 大约为0.318Hz 。
2.2选择二位式伪随机序列的参数(1)选择t 和N 由0.3Mt f ∆≤,得0.94t s ∆≤。
因为系统的时间常数1nT s ζω=,根据时间常数可按照0.050.1t T ∆= ()选择t ∆。
由二位式伪随机序列周期要大于系统过渡过程时间,若t ∆选择0.94s ,则由(1)s N t T -⨯∆≥,得12.7021N ≥;若t ∆选择0.195s ,则由(1)s N t T -⨯∆≥,得57.4103N ≥。
系统辨识之最小二乘法

系统辨识之最小二乘法方法一、最小二乘一次性算法:首先对最小二乘法的一次性辨识算法做简要介绍如下:过程的黑箱模型如图所示:其中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 )}极小化下列准则函数:∑=-=Lk 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 TL 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 文件,实现上述算法。
相关_最小二乘两步法在辨识中的应用与改进

图 2 Figure.2 the comparison of R 梯 and R矩
(11)
这种形式便于计算机求解,是目前普 遍使用的求解方法。式中N △ t 要大于系统 的调整时间。同样,自相关函数 Rxx(τ) 和互相关函数 R xv(τ)都是用有限和来 近似计算积分的,引起的截断误差正比于 △ t 2。这样,在辨识中存在的误差源主要 有随机干扰,量化误差,有限和代替积分产 生的误差。其中人为误差只有有限和代替 积分产生的截断误差,结合仿真结果,我们 得出:截断误差仅仅影响到对传递函数零 点的估计,对极点估计没有影响。这样我们 可以快速,高精度地估计出系统传递函数
Байду номын сангаас
的极点,从而判定系统的稳定性。
6 互相关函数计算的梯形法改进
在前面提到,数字计算机中积分是化 为有限和近似计算的。由分析可以得知, 这种有限和计算实际上是积分的矩形近 似,引起的截断误差正比于△ t 2。我们可 以用梯形法作一改进,以减小截断误差。
将梯形近似公式
(12) 运用在互相关函数中,可得:
(2) 则(1 )式可以表示为:
(3) 所以只要能正确的利用输入、输出序 列估计出θ就能得到被辨识系统的传递函 数, 最小二乘法是一种估计θ值的方法。 3.2 辨识方法 3.2.1 互相关函数法 相关性可用互相关函数来表示:
(4) τ是时间间隔。 当 x(t)=y(t)时,互相关
函数就变成了自相关函数。 设 t=0 时,x(t)=0,而且 t
若想得到系统的精确模型可以采取减小截断误差的方法如梯形近似法甚至四阶龙10可以把r看作是系统在rxvxx入下的响应这样要获得该系统的参数模型只需把分别看作xxxv系统的输入和输出然后按最小二乘法估计参数
系统辨识—最小二乘法_3

---------------------------------------------------------------最新资料推荐------------------------------------------------------系统辨识—最小二乘法最小二乘法参数辨识 1 引言系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。
现代控制理论中的一个分支。
通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。
对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。
对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。
而系统辨识所研究的问题恰好是这些问题的逆问题。
通常,预先给定一个模型类={M}(即给定一类已知结构的模型),一类输入信号 u 和等价准则 J=L(y,yM)(一般情况下,J 是误差函数,是过程输出 y 和模型输出 yM 的一个泛函);然后选择使误差函数J 达到最小的模型,作为辨识所要求的结果。
系统辨识包括两个方面:结构辨识和参数估计。
在实际的辨识过程中,随着使用的方法不同,结构辨识和参数估计这两个方面并不是截然分开的,而是可以交织在一起进行的。
2 系统辨识的目的在提出和解决一个辨识问题时,明确最终使1 / 17用模型的目的是至关重要的。
它对模型类(模型结构)、输入信号和等价准则的选择都有很大的影响。
通过辨识建立数学模型通常有四个目的。
①估计具有特定物理意义的参数有些表征系统行为的重要参数是难以直接测量的,例如在生理、生态、环境、经济等系统中就常有这种情况。
这就需要通过能观测到的输入输出数据,用辨识的方法去估计那些参数。
②仿真仿真的核心是要建立一个能模仿真实系统行为的模型。
用于系统分析的仿真模型要求能真实反映系统的特性。
(完整)系统辨识—最小二乘法汇总,推荐文档

最小二乘法参数辨识201403027摘要:系统辨识在工程中的应用非常广泛,系统辨识的方法有很多种,最小二乘法是一种应用极其广泛的系统辨识方法.阐述了动态系统模型的建立及其最小二乘法在系统辨识中的应用,并通过实例分析说明了最小二乘法应用于系统辨识中的重要意义.关键词:最小二乘法;系统辨识;动态系统Abstract: System identification in engineering is widely used, system identification methods there are many ways, least squares method is a very wide range of application of system identification method and the least squares method elaborated establish a dynamic system models in System Identification applications and examples analyzed by the least squares method is applied to illustrate the importance of system identification.Keywords: Least Squares; system identification; dynamic system引言随着科学技术的不断发展,人们认识自然、利用自然的能力越来越强,对于未知对象的探索也越来越深入.我们所研究的对象,可以依据对其了解的程度分为三种类型:白箱、灰箱和黑箱.如果我们对于研究对象的内部结构、内部机制了解很深入的话,这样的研究对象通常称之为“白箱”;而有的研究对象,我们对于其内部结构、机制只了解一部分,对于其内部运行规律并不十分清楚,这样的研究对象通常称之为“灰箱”;如果我们对于研究对象的内部结构、内部机制及运行规律均一无所知的话,则把这样的研究对象称之为“黑箱”.研究灰箱和黑箱时,将研究的对象看作是一个系统,通过建立该系统的模型,对模型参数进行辨识来确定该系统的运行规律.对于动态系统辨识的方法有很多,但其中应用最广泛,辨识效果良好的就是最小二乘辨识方法,研究最小二乘法在系统辨识中的应用具有现实的、广泛的意义.1.1 系统辨识简介系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。
最小二乘法在系统辨识中的应用

最小二乘法在系统辨识中的应用王文进控制科学与控制工程学院 控制理论与控制工程专业 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为水泥的几种成分。
引入参数向量: = [ a0,a1,…,a n ]T经过N次试验,得出N个方程: y k = k T + k ; k=1、2…、N其中:k = [ 1,x1,x2,…,x N ]T方程组可用矩阵表示为: y = +其中:y = [ y1,y2,…,y N ] T = [ 1,2,…,N ] T估计准则:有=(y - )T( y - )J = y T y + T T - y T - T T y= y T y + T T - 2 T T y假设:(T)满秩,由根据矩阵值函数对矩阵变量的导数和数量函数对矩阵变量的导数可以得出以下两个公式:和有:和所以:解出参数估计向量:=(T)-1 T yLs至此,水泥的凝固放热量与水泥的成分关系模型即建立起来了。
最小二乘法系统辨识

最小二乘法一次完成算法的MATLAB仿真一、二阶系统的最小二乘法一次完成算法的辨识程序及结果程序源代码:clear % 工作间清零u = [-1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1]; % 系统辨识的输入信号为一个周期的M序列z = zeros( 1, 16); % 定义输出观测值的长度for k = 3 : 16% 用理想输出值作为观测值z(k) = 1.8*z(k-1) - 0.8*z(k-2) + 1.1*u(k-1) + 0.4*u(k-2);ZL( k, : ) = z(k); % 给样本矩阵ZL赋值Hl = [ -z(k-1), -z(k-2), u(k-1), u(k-2) ]; % 用理想输出值作为观测值HL( k, : ) = Hl;endsubplot(3,1,1) % 画三行一列图形窗口中的第一个图形stem(u) % 画出输入信号u的经线图形subplot(3,1,2) % 画三行一列图形窗口中的第二个图形i=1:1:16; % 横坐标范围是1到16,步长为1% 图形的横坐标是采样时刻i, 纵坐标是输出观测值z, 图形格式为连续曲线plot(i,z)subplot(3,1,3) % 画三行一列图形窗口中的第三个图形stem(z),grid on % 画出输出观测值z的经线图形,并显示坐标网格u,z % 显示输入信号和输出观测信号c1=HL'*HL; % 计算参数并显示c2=inv(c1);c3=HL'*ZL;c=c2*c3a1=c(1), a2=c(2), b1=c(3), b2=c(4) % 从中分离出并显示a1 、a2、b1、b2运算结果如下:u =-1 1 -1 1 1 1 1 -1 -1 -1 1 -1 -1 1 1z =Columns 1 through 90 0 0.7000 0.5600 1.1480 3.1184 6.1947 10.1558 12.6246 Columns 10 through 1613.0997 11.9798 11.7838 10.9270 8.7416 7.6933 8.3546c =-1.80000.80001.10000.4000a1 =-1.8000a2 =0.8000b1 =1.1000b2 =0.4000所画图形如下:二、实际压力系统的最小二乘辨识程序及结果程序源代码:clear % 工作间清零V = [ 54.3, 61.8, 72.4, 88.7, 118.6, 194.0]' % 赋初值V,并显示P = [ 61.2, 49.5, 37.6, 28.4, 19.2, 10.1]' % 赋初值P,并显示% P、V之间的关系:logP=-alpha*logV% +logbeita=[-logV,1][alpha,log(beita)]'=HL*sitafor i = 1 : 6; % 循环变量的取值为从1到6 Z(i) = log( P (i) ); % 赋系统的输出采样值ZL( i, : ) = Z(i); % 给样本矩阵ZL赋值Hl = [ log( V(i) ),1 ]; % 给HL赋值HL( i, : ) = Hlend % 循环结束c1=HL'*HL; % 计算参数并显示c2=inv(c1);c3=HL'*ZL;c4=c2*c3alpha = c4(1) % 为c4的第1个元素beita = exp(c4(2)) % 为以自然数为底的c4的第2个元素的指数运算结果如下:V =54.300061.800072.400088.7000118.6000194.0000P =61.200049.500037.600028.400019.200010.1000HL =3.9945 1.0000HL =3.9945 1.00004.1239 1.0000HL =3.9945 1.00004.1239 1.00004.2822 1.0000HL =3.9945 1.00004.1239 1.00004.2822 1.00004.4853 1.0000HL =3.9945 1.00004.1239 1.00004.2822 1.00004.4853 1.00004.7758 1.0000HL =3.9945 1.00004.1239 1.00004.2822 1.00004.4853 1.00004.7758 1.00005.2679 1.0000 c4 =-1.40429.6786alpha =-1.4042beita =1.5972e+004。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 基于最小二乘法的系统辨识的设计与开发(整理版)课程(论文)题目:基于最小二乘法的系统辨识摘要:最小二乘法是一种经典的数据处理方法。
最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。
在系统辨识领域中, 最小二乘法是一种得到广泛应用的估计方法, 可用于动态系统, 静态系统, 线性系统, 非线性系统。
在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。
关键词:最小二乘法;系统辨识;参数估计 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时也有测量误差,系统内部也可能有噪声,应当---------------------------------------------------------------最新资料推荐------------------------------------------------------3 / 10 考虑它们的影响。
因 此假定不仅包含了)(kx 的测量误差, 而且还包含了)(ku 的测量误差和系统内部噪声。
假定是不相关舱机序列(实际上是相关随机序列)。
分别测出 n+N 个输出输入值)(,),2 (u),1 (u),(),2 (y),1则可以写出N个方程,即上述 N 个方程可写成向量矩阵形式2(u)2()2(y) 1() 1 (u) 1() 1 (6) 设1() 2 (u) 2() 2 (y) 1() 1 (u) 1() 1则式(6)可以写成上式中:y 为 n 维输出向量;为 N 维噪声向量;为( 2n+1)维参数向量;为测量矩阵。
因此 N2n+1,方程数少于未知数数目,则方程组的解是不定的,不能唯一的确定参数向量。
如果 N=2n+1,方程数正好与未知数数目相等,当噪声时,就能准确的解出如果噪声,则从上式可以看出噪声对参数估计有影响,为了尽量减小噪声对估值的影响,应取N(2n+1),即方程数大于未知数数目。
在这种情况下,不能用解方程的办法来求,而要采用数理统计的办法,以便减小噪声对估值的影响。
在给定输出向量 y 和测量矩阵的条件下求系统参数的估值,这就是系统辨识问题。
可用最小二乘法来就的估值。
---------------------------------------------------------------最新资料推荐------------------------------------------------------5 / 103 最小二乘法的原理 3. 1 最小二乘法一次完成推导 本文中以一个 SISO 系统为例说明最小二乘法的原理。
假设一个 SISO 系统如下图所示:其离散传递函数为:3.1输入输出的关系为:3.2 进一步, 我们可以得到:3.3 其中, 扰动量)(ke 为均值为 0,不相关的白噪声。
将式3.3 写成差分方程的形式:)()(3.4令则式3.4 可以写为:3.5 将上述式子扩展到 N 个输入、 输出观测值{)(),(kyku},k=1,2,, N+n。
将其代入到式 3.5 中,写成矩阵的形式为:取泛函为ineYJTTN 最小二乘法原理既是使最小,对其求极值得:1()(NuNnuNyNnyNnynuynnuny由此可得系统的最小二乘法估计值为:这样,我们就得到了系统的最小二乘估计值。
4 最小二乘法系统辨识的应用举例系统辨识是通过建立动态系统模型,在模型输入输出数据的基础上,运用辨识方法对模型参数进行辨识,从而得到一个与所观测的系统在实际特性上等价的系统。
应用最小二乘法对系统模型参数进行辨识的方法有离线辨识和在线辨识两种。
离线辨识是在采集到系统模型所需全部输入输出数据后,用最小二乘法对数据进行集中处理,从而获得模型参数的估计值;而在线辨识是一种在系统运行过程中进行的递推辨识方法,所应用的数据是实时采集的系统输入输出数据,应用递推算法对参数估计值进---------------------------------------------------------------最新资料推荐------------------------------------------------------ 行不断修正,以取得更为准确的参数估计值。
由于在线辨识方法具有实时采集系统输入输出数据,实时辨识模型参数,且占据计算机存储量小的优点,因此与离线辨识相比,在线辨识方法得到了更为广泛的应用。
在线辨识的参数估计的最小二乘其最优性准则函数为:其中m 为数据采集的次数, e 为残差向量。
由于上述递推算法无法反映参数随时间变化的特点,新数据被大量的老数据所淹没,对于慢时变参数的辨识来说,这必然得不到跟踪参数变化的实时估计,因此又进一步有了改进的最小二乘递推算法,即带遗忘因子的渐消记忆的递推算法,该算法贬低老数据的作用,强调新数据的作用,选取遗忘因子,得到渐消记忆的最小二乘递推算法如下:5 参考文献 [1]. 郭利辉,朱励洪,基于 MATLAB 的最小二乘法系统辨识与仿真,许昌学院学报,第 29 卷第 2期, 2010 年 [2]. 程婵娟,系统辨识的线性规划方法研究, 2009 年 [3]. 吴进华,基于 BP 神经网络的非线性动态系统辨识方法, 2009 年[4]. 刘静纨,最小二乘法在系统辨识中的应用,北京建筑工程学院学报,第 20 卷第 3 期, 2004 年9 月 [5]. 王浩宇等,系统辨识及自适应控制系统算法仿真实现,控制工程,第 15 卷增刊,2008 年 [6]. 徐洪泽等,基于遗传算法的系统辨识方法可靠性分7 / 10析,模式识别与人工智能,第 13 卷第 4 期,2019 年 [7]. 黄文梅等,系统分析与仿真,长沙:国防科技大学出版社, 1999 年 [8]. 李言俊,张科,系统辨识理论及应用,北京:国防工业出版社,2009 年参考程序%待辨识系统z(k)=0.1*z(k-1)-0.5*z(k-2)+0.6*z(k-3)+u(k-1)+0.5*u(k-2)-0.2*u(k-3)+v(k)/800% clc clear %清理工作间变量L=300; % M序列的周期x1=1;x2=1;x3=1;x4=0;x5=1;x6=0; %四个移位积存器的输出初始值for k=1:L; %开始循环,长度为L u(k)=xor(x3,x4); %第一个移位积存器的输入是第3个与第4个移位积存器的输出的或x6=x5;x5=x4;x4=x3;x3=x2;x2=x1;x1=u(k);end %大循环结束,产生输入信号u plot(u) %绘图M序列 v=randn(300,1); %随机误差干扰z=zeros(1,300); for k=4:300 z(k)=0.10*z(k-1)+0.55*z(k-2)+0.40*z(k-3)+0.70*u(k-1)+0.90*u(k-2)-3.50*u(k-3)+v(k)/400; %用理想输出值作为观测值endH=zeros(300,6); %定义一个H0 矩阵 for i=4:300 H(i,:)=[-z(i-1) -z(i-2) -z(i-3) u(i-1) u(i-2) u(i-3)];%用循环产生H矩阵 z1(i,:)=[z(i)]; %用循环产生z矩阵end %计算参数% c=inv(H’*H)*H’*z1%带入公式书上 3.1.23---------------------------------------------------------------最新资料推荐------------------------------------------------------a1=c(1),a2=c(2),a3=c(3),b1=c(4),b2=c(5),b3=c(6)%辨识出参数 %系统阶次辨识AIC算法% bb=zeros(5,1); n=1; %假设为1阶for i=2:300 H1(i,:)=[-z(i-1) u(i-1)]; zz1(i,:)=[z(i)]; end aa1=inv(H1’*H1)*H1’*zz1bb(1)=(zz1-H1*aa1)’*(zz1-H1*aa1)/L;AIC(1)=L*log(bb(1))+4*n; n=2; %假设为2阶 fori=3:300 H2(i,:)=[-z(i-1) -z(i-2) u(i-1) u(i-2)]; zz2(i,:)=[z(i)]; end aa2=inv(H2’*H2)*H2’*zz2bb(2)=(zz2-H2*aa2)’*(zz2-H2*aa2)/L;AIC(2)=L*log(bb(2))+4*n; n=3; %假设为3阶 fori=4:300 H3(i,:)=[-z(i-1) -z(i-2) -z(i-3) u(i-1) u(i-2)u(i-3)]; zz3(i,:)=[z(i)]; end aa3=inv(H3’*H3)*H3’*zz3bb(3)=(zz3-H3*aa3)’*(zz3-H3*aa3)/L;AIC(3)=L*log(bb(3))+4*n; n=4; %假设为4阶 fori=5:300 H4(i,:)=[-z(i-1) -z(i-2) -z(i-3) -z(i-4) u(i-1)u(i-2) u(i-3) u(i-4)]; zz4(i,:)=[z(i)]; endaa4=inv(H4’*H4)*H4’*zz4bb(4)=(zz4-H4*aa4)’*(zz4-H4*aa4)/L;AIC(4)=L*log(bb(4))+4*n; n=5; %假设为5阶 fori=6:300 H5(i,:)=[-z(i-1) -z(i-2) -z(i-3) -z(i-4) -z(i-5)u(i-1) u(i-2) u(i-3) u(i-4) u(i-5)]; zz5(i,:)=[z(i)]; end9 / 10aa5=inv(H5’*H5)*H5’*zz5bb(5)=(zz5-H5*aa5)’*(zz5-H5*aa5)/L;AIC(5)=L*log(bb(5))+4*n; x=min(AIC) for i=1:5 if(AIC(i)==x) N=i %所辨识出的阶次N end end plot(1:5,[AIC(1) AIC(2) AIC(3) AIC(4)AIC(5)]) 6 实验结果:c = -0.1000 -0.5500 -0.4000 0.69980.8999 -3.5001 a1 = -0.1000 a2 = -0.5500 a3 = -0.4000 b1 = 0.6998 b2 = 0.8999 b3 = -3.5001。