matlab基于最小二乘、全局化算法、遗传算法的参数识别

matlab基于最小二乘、全局化算法、遗传算法的参数识别

ID:15717607

大小:126.50 KB

页数:7页

时间:2018-08-05

matlab基于最小二乘、全局化算法、遗传算法的参数识别_第1页
matlab基于最小二乘、全局化算法、遗传算法的参数识别_第2页
matlab基于最小二乘、全局化算法、遗传算法的参数识别_第3页
matlab基于最小二乘、全局化算法、遗传算法的参数识别_第4页
matlab基于最小二乘、全局化算法、遗传算法的参数识别_第5页
资源描述:

《matlab基于最小二乘、全局化算法、遗传算法的参数识别》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、最小二乘法:%递推公式,更新p0=p2;forn=2:N-1%%递推最小二乘法    K0=p0*X(n,:)'*inv(1+X(n,:)*p0*X(n,:)');%计算K    Theta_abs=Theta_abs+K0*(Y(n)-X(n,:)*Theta_abs);%计算估计值Theta;    p3=p0-K0*X(n,:)*p0;%计算P    p0=p3;      %误差平方和最小  Y1=X(n,:)*Theta_abs;%递推值  J=(Y(n,:)-Y1)*(Y(n,:)-Y1)'

2、  if(J

3、,为了解决这个问题,把它转化为递推算法:若令,则加权递推最小二乘(RWLS):e(k)为有色噪声,v(k)为白噪声。。取,当噪声为有色噪声时,采用增广最小二乘法:其思路采用CARMA模型。在实际应用中噪声v(k)有两种形式:1matlab最小二乘法拟合[a,Jm]=lsqcurvefit(fun,a0,x,y);fun不支持句柄函数a0为最优化的初始值,fun为数据原型函数。x=lsqcurvefit(fun,x0,xdata,ydata,lb,ub);lb≤x≤ub[x,norm,res,ef,out

4、,lam,jac]=lsqcurvefit(@F,x0,t,y,v1,v2,opt,P1,P2,...)其中输出变量的含义为:1)x:最优解2)norm:误差的平方和3)res:误差向量4)ef:程序结束时的状态指示:·>0:收敛·0:函数调用次数或迭代次数达到最大值(该值在options中指定)·<0:不收敛5)out:包含以下数据的一个结构变量·funcCount函数调用次数·iterations实际迭代次数·cgiterations实际PCG迭代次数(大规模计算用)·algorithm实际使用的算

5、法·stepsize最后迭代步长(中等规模计算用)·firstorderopt一阶最优条件满足的情况(大规模计算用)6)lam:上下界所对应的Lagrange乘子7)jac:结果(x点)处的雅可比矩阵输入参数其中输入变量的含义为:·x0为初始解(缺省时程序自动取x0=0)·t,y:拟合数据·v1,v2:参数待求x的上下界·options:包含算法控制参数的结构LineSearchType线搜索方法(‘cubicpoly’,’quadcubic’(缺省值))opt=optimset(oldopts,new

6、opts)可以设定的参数比较多,对lsqnonlin和lsqcurvefit,常用的有以下一些参数:Diagnostics是否显示诊断信息('on'或'off)Display显示信息的级别('off','iter','final,'notify)LargeScale是否采用大规模算法('on'或'off)缺省值为onMaxIter最大迭代次数TolFun函数计算的误差限TolX决策变量的误差限Jacobian目标函数是否采用分析Jacobi矩阵('on','off)MaxFunEvals目标函数最大调用

7、次数LevenbergMarquardt搜索方向选用LM法(‘on’),GN法(‘off’,缺省值)LineSearchType线搜索方法(‘cubicpoly’,’quadcubic’(缺省值))LargeScale:[on

8、off]LevenbergMarquardt:[{on}

9、off]例子1用matlab实现对1首先编写m文件functionf=lsq(x,xdata)f=x(1)*sin(xdata)+0.5*x(2)*sin(2*xdata)./(1-x(2)^2*sin(xdata).^2

10、).^0.52利用lsqcurvefit函数调用m文件m=4;k=0.4o=[0:0.01*pi:2*pi];xdata=o;ydata=m*sin(o)+0.5*k*sin(2*o)./(1-(k^2*sin(o).^2)).^0.5;x0=[0;0];[x,resnorm]=lsqcurvefit(@lsq,x0,xdata,ydata)结果得到:x(1)=4.0000;x(2)=0.4000;resnorm=6.3377e-0162n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。