1、 (5.3.5)于是 (5.3.6) 如果再获得1组新的观测值和,则又增加1个方程 (5.3.7)将式(5.3.1)和式(5.3.7)合并,并写成分块矩阵形式,可得 (5.3.8)根据上式可得到新的参数估值 (5.3.9)根据矩阵求逆引理可以求得递推最小二乘法辨识公式 (5.3.19) (5.3.20) (5.3.21)由于进行递推计算需要给出和初值和,通过计算证明,可以取初值:,c是充分大的常数,为单位矩阵,则经过若干次递推之后能够得到较好的参数估计。3.辅助变量法辅助变量法是一种可克服最小二乘有偏估计的一种方法,对于原辨识方程 (5.4.1)当是不相关随机序列时,最小二乘法可以得到参数向量
2、的一致无偏估计。但是,在实际应用中往往是相关随机序列。假定存在着一个的矩阵满足约束条件 (5.4.2)式中是非奇异的。用乘以式(5.4.1)等号两边得 (5.4.3)由上式得 (5.4.4)如果取 (5.4.5)作为估值,则称为辅助变量估值,矩阵成为辅助变量矩阵,中的元素称为辅助变量。常用的辅助变量法有递推辅助变量参数估计法,自适应滤波法,纯滞后等。4.广义最小二乘法广义最小二乘法是能克服最小二乘法有偏估计的另一种方法,这种方法计算比较复杂但效果比较好。 下面直接介绍广义最小二乘法的计算步骤:(1)应用得到的输入和输出数据和,按模型求出的最小二乘估计(2)计算残差 (3)用残差代替,计算 (4
3、)计算和 (5)应用得到的和按模型用最小二乘法重新估计,得到的第2次估值。然后按步骤(2)计算残差,按步骤(3)重新估计,得到估值。再按照步骤(4)计算和,按照步骤(5)求的第3次估值。重复上述循环,之道的估值收敛为止。5.一种交替的广义最小二乘法求解技术(夏式法)这种方法是夏天长提出来的,又称夏式法。以上讨论过的广义最小二乘法的特点在于系统的输入和输出信号反复过滤。一下介绍的夏式法是一种交替的广义最小二乘法求解技术,它不需要数据反复过滤,因而计算效率较高。这种方法可消去最小二乘估计中的偏差,而且由这种方法导出的计算方法也比较简单。基于以上的几种方法,有 (5.7.1)因而有 (5.7.2)应
4、用最小二乘法可得到参数估值 (5.7.3)可以推出 (5.7.11)上式中的第1项是最小二乘估计,第2项是偏差项,所以必须准确计算。 为了准确计算,可采用迭代的方法。6.专题解答设但输入-单输出系统的差分方程为取真实值,输入数据如下所示ku(k)11.14711-0.958210.48520.201120.810221.6333-0.78713-0.044230.0434-1.159140.947241.3265-1.05215-1.474251.70660.86616-0.71926-0.34071.15217-0.086270.89081.57318-1.099281.14490.6261
5、91.450291.177100.433201.15130-0.390用的真实值利用查分方程求出作为测量值,为均值为0,方差为0.1,0.5的不相关随机序列。(1)用最小二乘法估计参数。(2)用递推最小二乘法估计。(3)用辅助变量法估计参数。(4)设,用广义最小二乘法估计参数。(5)用夏式法估计参数。(6)详细分析和比较所获得的参数辨识结果,并说明上述参数便是方法的优缺点。根据题目要求的解法,利用Matlab编程实现系统辨识的估值利用最小二乘法估计的结果如下:最小二乘法方差0.00011.62800.70280.39713.4491.63160.70590.39470.34941.63540.
6、71200.39180.34631.63620.70820.39700.35271.63600.71650.39060.35341.62890.70460.39080.34370.0011.15430.67660.40640.33041.55770.63710.38680.32491.60500.68600.37370.32441.60600.68160.35830.31671.61950.70300.39070.33661.56700.65720.37520.31400.011.35380.50100.34860.17090.89560.16370.42370.06971.00080.203
7、60.42360.12681.34030.47070.38260.26151.05740.22890.36820.13171.12310.29630.35920.15060.11.14240.27100.32840.22161.02550.17360.37660.18440.88960.11090.38930.08130.81820.11140.42980.09230.81000.01530.41220.13520.77150.13110.47140.06400.50.97510.10170.02710.07920.89380.07400.34840.16340.19270.01970.376
8、20.15210.55060.03920.65100.05840.75600.04940.33720.14370.94590.13770.38150.1853部分程序运行结果递推最小二乘法1.67540.67870.52070.39241.30760.29000.00751.51460.69631.14010.16391.57330.77820.41490.71101.16020.47530.67360.31591.20910.31920.52770.02751.47670.40400.26790.55121.62590.75940.32530.37801.53930.47570.43461.
9、15480.17000.19260.82510.88580.07600.33850.04061.41290.31270.09920.83801.34850.34450.31940.37101.16390.32960.78130.21621.99461.23231.48520.03041.39240.35430.33190.45721.39820.36080.77730.31521.63460.72290.57801.56240.71320.44220.41121.73350.71520.08440.63991.47630.53660.32550.31161.44770.34890.22180.
10、22651.62160.65950.42751.51050.40000.01130.22131.79270.94110.27300.34711.55560.88770.59720.12171.78681.25381.12480.21000.74340.35890.13871.31930.60841.29710.30291.59590.53860.01410.6947部分程序运行结果:辅助变量法1.77990.85880.41470.40461.67350.75780.40601.58120.65460.37710.36111.66570.74690.37720.35611.52810.6509
11、0.36450.33021.62950.67750.40820.35011.64250.73050.39371.55950.60520.35630.33621.41450.49250.40210.28731.63710.72700.36810.34181.35390.47330.24891.34510.47000.38220.26801.36570.48930.43490.24961.37020.50090.43880.26111.18840.37070.34571.36360.53300.41350.20641.31580.48360.45620.21691.55450.61670.4104
12、0.35121.59000.66480.40980.36641.66100.70290.40010.34951.51040.60140.39680.32561.56200.64960.39500.30971.44180.57060.41830.27831.49520.57040.37690.34831.55920.65410.43870.33301.36370.53020.38650.19161.55430.63240.32080.29291.53850.59940.36610.35761.35110.48390.34120.2208广义最小二乘法1.64510.71820.38950.350
13、31.64680.72050.38660.34921.63080.70380.38521.64670.71880.38980.35441.64110.71560.34771.64410.71850.38960.34881.70270.76780.40590.37611.64770.71660.39730.36431.63910.71130.38360.35041.65860.37910.36721.68310.74720.39940.37311.59640.68500.36550.32311.68260.38590.36001.72450.76960.35650.36421.65770.718
14、60.39100.38201.66560.72630.34250.34131.69030.73920.36330.38381.69420.74390.38340.38800.89960.15150.44350.06041.03800.30440.34100.04641.65710.65690.45890.42591.21800.45840.10300.19570.09740.21640.10351.68590.72320.41440.44041.40530.67030.13721.57830.61480.41731.02330.06580.20351.59730.81030.21311.619
15、10.67090.31110.48661.08040.22100.75000.5185夏式法1.63670.70900.35110.71840.38760.34721.36180.21590.82050.58511.62910.70750.39110.34641.61730.69290.39550.34391.63070.70660.39120.34491.53140.64070.40160.30921.56320.65750.42041.61720.69460.39250.32580.64890.32331.53260.62430.39950.30701.62510.36210.33600.
16、88150.10890.37340.04401.37630.49720.41210.26541.50270.59520.38540.32771.34210.42680.39780.27901.24540.30240.36690.25251.33610.47410.49990.66390.10740.68470.08271.14060.31540.23670.17910.29160.94540.21261.20680.38270.74600.32200.64120.07040.58020.08771.03840.28780.74930.37930.93300.07520.97410.58820.
17、62910.16860.46790.78690.59860.27920.26050.20080.44410.80330.74421.76670.62160.14400.58210.49060.65760.09991.00020.0263结论:通过编程计算,获得在噪声方差比较小的情况下,各种方法所获得的估值比较理想,但随着噪声方差的增大,估值的偏差随之增大,横向比较看来夏式法与广义最小二乘法能够更好地还原参数值,当观测值足够多时,各种方法都能很好地反映参数真实值。Matlab源程序:%最小二乘估计% clear u= 1.147 0.201 -0.787 -1.589 -1.052 0.866
18、1.152 1.573 0.626 0.433 -0.985 0.810 -0.044 0.947 -1.474 -0.719 -0.086 -1.099 1.450 1.151 0.485 1.633 0.043 1.326 1.706 -0.340 0.890 0.144 1.177 -0.390; n=normrnd(0, sqrt(0.1), 1, 31); z=zeros(1,30);for k=3:31 z(k)=-1.642*z(k-1)-0.715*z(k-2)+0.39*u(k-1)+0.35*u(k-2)+n(k)+1.642*n(k-1)+0.715*n(k-2);end
19、 h0=-z(2) -z(1) u(2) u(1); HLT=h0,zeros(4,28); h1=-z(k) -z(k-1) u(k) u(k-1) HLT(:,k-1)=h1;end HL=HLT y=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);z(17);z(18);z(19);z(20);z(21);z(22);z(23);z(24);z(25);z(26);z(27);z(28);z(29);z(30);z(31);%求出FAI c1=HL*HL; c2=inv(c1); c3=HL*y; c=c2*c3;%display(方差=0.1时,最小二乘法估计辨识参数如下:); a1=c(1); a2=c(2); b1=c
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1