系统辨识作业随机牛顿法

上传人:m**** 文档编号:472028622 上传时间:2023-11-03 格式:DOC 页数:3 大小:62KB
返回 下载 相关 举报
系统辨识作业随机牛顿法_第1页
第1页 / 共3页
系统辨识作业随机牛顿法_第2页
第2页 / 共3页
系统辨识作业随机牛顿法_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《系统辨识作业随机牛顿法》由会员分享,可在线阅读,更多相关《系统辨识作业随机牛顿法(3页珍藏版)》请在金锄头文库上搜索。

1、随机牛顿法:算法基本原理:1.随机逼近法本质上类似最速下降法,缺点是当搜索逼近极小值点时,易发生振荡,搜索速度慢;2.为加快搜索速度,采用随机牛顿法如下:3. 设R(k)为Hessian矩阵的k时刻的估计值,R(k)的随机逼近算法可根据Robbins-Monro算法求出,随机牛顿算法归结为:(k)为收敛因子,(k)=1/k。程序设计思路:待辨识对象参数a=1 -1.5 0.7; b=1 0.5;输入采用长度L=400的白噪声序列,输出,输入和输出数据均含不相关随机噪声,(k)=1/k。利用上述递推公式,辨识系统参数。辨识结果:估计参数值ans = -1.4782 0.6778 0.9795 0

2、.5026经过400步的计算,系统辨识参数与真值基本相同。程序:%递推随机牛顿参数估计(RSNA)clear; clc;a=1 -1.5 0.7; %对象参数b=1 0.5; d=3; na=length(a)-1; %na、nb为A、B阶次nb=length(b)-1; L=400; %仿真长度uk=zeros(d+nb,1); %输入初值:uk(i)表示u(k-i)yk=zeros(na,1); %输出初值xik=zeros(na,1); %白噪声初值etak=zeros(d+nb,1); %白噪声初值u=randn(L,1); %输入采用白噪声序列xi=sqrt(0.1)*randn(L

3、,1); %白噪声序列eta=sqrt(0.25)*randn(L,1); %白噪声序列theta=a(2:na+1);b; %对象参数真值thetae_1=zeros(na+nb+1,1); %参数估计初值Rk_1=eye(na+nb+1); %-随机牛顿算法-for k=1:L phi=-yk;uk(d:d+nb); e(k)=a*xi(k);xik-b*etak(d:d+nb); y(k)=phi*theta+e(k); %采集输出数据 R=Rk_1+(phi*phi-Rk_1)/k; dR=det(R); if abs(dR)10(-6) %避免矩阵R非奇异 R=eye(na+nb+1

4、); end IR=inv(R); thetae(:,k)=thetae_1+IR*phi*(y(k)-phi*thetae_1)/k; %更新数据 thetae_1=thetae(:,k); Rk_1=R; for i=d+nb:-1:2 uk(i)=uk(i-1); etak(i)=etak(i-1); end uk(1)=u(k); etak(1)=eta(k); for i=na:-1:2 yk(i)=yk(i-1); xik(i)=xik(i-1); end yk(1)=y(k); xik(1)=xi(k);enddisp(估计参数值)thetae(:,400)plot(1:L,thetae);xlabel(k); ylabel(参数估计a、b);legend(a_1,a_2,b_0,b_1); axis(0 L -2 2);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号