基于.matlab的多变量优化问题

基于.matlab的多变量优化问题

ID:25433630

大小:393.50 KB

页数:7页

时间:2018-11-20

基于.matlab的多变量优化问题_第1页
基于.matlab的多变量优化问题_第2页
基于.matlab的多变量优化问题_第3页
基于.matlab的多变量优化问题_第4页
基于.matlab的多变量优化问题_第5页
资源描述:

《基于.matlab的多变量优化问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、WORD格式可编辑小组成员:刘浩李莲喜骆开荣刘晓康学号:S1402W0117、S1402W0143、S1402M0005、S1402W0246基于MATLAB的多变量优化问题专业知识分享WORD格式可编辑MATLAB在多变量优化问题的应用【摘要】实际生活中我们有许多地方需要用到数学中的一些最值运算,而有些问题我们无法进行计算,因此就有了优化设计理论这门学科,优化理论是一门实践性很强的学科,广泛应用于生产管理、军事指挥和科学试验等各种领域,为了更好的学习这门课程,为我们所用,MATLAB优化工具箱提供了对各种优化问题的一个完整的解决方案,可用于解决工程中的最优化问题,包括非线性方程求解、极小

2、值问题、最小二乘问题等。一、问题的提出MATLAB具有强大的科学计算与视化功能、简单易用、开放式的可扩展环境,编写简单,编程效率高,易学易懂,将MATLAB应用到解决最优化问题的模块中学习,利用客观、视图、计算等功能对最优化问题模块做出最简洁有效的解答。二、在多变量优化问题的应用1.问题一:运用MATLAB软件编写多变量优化问题求解采用的算法:牛顿法程序框图:专业知识分享WORD格式可编辑目标函数图形:MATLAB程序:clearx=-10:0.5:10;y=x;专业知识分享WORD格式可编辑[X,Y]=meshgrid(x,y);Z=(X-4).^2+(Y+2).^2+1;surf(X,

3、Y,Z)symsts;f=(t-4)^2+(s+2)^2+1;[x,mf]=minNT(f,[-15],[ts])function[x,minf]=minNT(f,x0,var,eps)formatlong;ifnargin==3eps=1.0e-6;endtol=1;x0=transpose(x0);whiletol>epsgradf=-jacobian(f,var);jacf=jacobian(gradf,var);v=Funval(gradf,var,x0);tol=norm(v);pv=Funval(jacf,var,x0);p=-inv(pv)*transpose(v);x1=x

4、0+p;x0=x1;endx=x1;minf=Funval(f,var,x);formatshort;functionfv=Funval(f,varvec,varval)var=findsym(f);varc=findsym(varvec);s1=length(var);s2=length(varc);m=floor((s1-1)/3+1);varv=zeros(1,m);ifs1~=s2fori=0:((s1-1)/3)k=findstr(varc,var(3*i+1));index=(k-1)/3;varv(i+1)=varval(index+1);endfv=subs(f,var,v

5、arv);else专业知识分享WORD格式可编辑fv=subs(f,varvec,varval);end运行结果:x*=[4,-2]f(x*)=12.问题二:运用MATLAB软件编写多变量优化问题求解采用的算法:修正牛顿法目标函数图形:MATLAB程序:clcclearx0=[-15]';[x,val,k]=revisenm('fun','gfun','Hess',x0)x=-10:0.5:10;%生成函数图形y=x;[X,Y]=meshgrid(x,y);Z=X.^3+(X-4).^2+(Y+2).^2+1;surf(X,Y,Z)functionf=fun(x)f=x(1)^3+(x(1

6、)-4)^2+(x(2)+2)^2+1;专业知识分享WORD格式可编辑functiong=gfun(x)g=[3*(x(1)^2)+2*(x(1)-4),2*(x(2)+2)]';functionHe=Hess(x)n=length(x);He=zeros(n,n);He=[6*x(1)+2,0;0,2];function[x,val,k]=revisenm(fun,gfun,Hess,x0)n=length(x0);maxk=150;rho=0.55;sigma=0.4;tau=0.0;k=0;epsilon=1e-5;while(k

7、梯度muk=norm(gk)^(1+tau);Gk=feval(Hess,x0);%计算Hesse阵Ak=Gk+muk*eye(n);dk=-Akgk;%解方程组Gk*dk=-gk,计算搜索方向if(norm(gk)

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

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

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