版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CG程序代码function x,y = cg(A,b,x0)%算法 % r0 = A*x0-b;p0 = -r0;k = 0;r = r0;p = p0;x = x0;while r=0alpha = -r'*p/(p'*A*p);x = x+alpha*p;rold = r;r = rold+alpha*A*p;beta = r'*r/(rold'*rold);p = -r+beta*p; plot(k,norm(p),'.-');hold onk = k+1;end y.funcount = k;y.fval = x'*A*x/2-
2、b'*x;CG-FR程序代码function x,y = cg_FR(fun,dfun,x0)%CGJ算法 %error = 10A-5;f0 = feval(fun,x0);df0 = feval(dfun,x0);p0 = -df0;f = f0;df = df0;p = p0;x = x0;k = 0;while (norm(df)>error)&&(k<1000)f = feval(fun,x);%alpha,funcNk,exitflag = lines(fun,0.01,0.15,0.85,6,f,df'*p,x,p);% 用线搜索找下降
3、距离 if exitflag = -1disp('Break!');break;endx = x+alpha*p;dfold = df;df = feval(dfun,x);beta = df'*df/(dfold'*dfold);p = -df+beta*p;plot(k,norm(df),'.-');hold onk = k+1;endy.funcount = k;y.fval = feval(fun,x);y.error = norm(df);BFGS程序代码function x,output = bfgs(fun,dfun,x0,vara
4、rgin)%优化课程 BFGS算法程序 % epsi = 1.0e-6;k = 0; funcN = 0; rho = 0.01;l = 0.15; u = 0.85;x = x0;f = feval(fun,x,varargin:);funcN = funcN + 1;n = length(x0);H = eye(n);g = feval(dfun,x,varargin:); while norm(g)>epsi && k<=1000 itercon = true;d = -H*g;alpha_0 = 1;gd = g'*d;alpha,funcNk,ex
5、itflag = lines(fun,rho,l,u,alpha_0,f,gd,x,d,varargin:); funcN = funcN + funcNk;if exitflag = -1 itercon = false; restart = true; H = eye(n); gold = g;endif itercon s = alpha*d;x = x + s; f = feval(fun,x,varargin:); funcN = funcN + 1; gold = g;g = feval(dfun,x,varargin:);y = g - gold; hy = H*y; sy =
6、s'*y; yhy = y'*hy;if sy<0.2*yhytheta = 0.8*yhy/(yhy-sy); s = theta*s + (1 - theta)*hy; sy = 0.2*yhy;endv = sqrt(yhy)*(s/sy - hy/yhy);H = H + s*s'/sy - hy*hy'/yhy + v*v' endk = k + 1;end output.fval = f; output.iteration = k; output.funcount = funcN; output.gnorm = norm(g);Newt
7、on-CG 程序代码function x,output = newton_cg(fun,dfun,ddfun,x0)%优%化 7.1 算法程序 % n = length(x0);x = x0;k = 1;d(1,1:n) = zeros(1,n); %循环开始,直至满足条件结束%while (n orm(feval(dfu n,x)>=10A-5) &&(k<20000)epsi(k) = min(0.5,sqrt(norm(feval(dfun,x)*norm(feval(dfun,x); z(1,1:n) = zeros(1,n);B = feval(ddfun
8、,x);r(1,1:n) = feval(dfun,x)'d(1,1:n) = -r(1,1:n);p = zeros(1,n)'for j=1:k%寻找最优下降方向 %if d(j,1:n)*B*d(j,1:n)'<=0if j=1p = -r(k,1:n)' break;elsep = z(j,1:n)'break;endendalpha = r(j,1:n)*r(j,1:n)'/(d(j,1:n)*B*d(j,1:n)');z(j+1,1:n) = z(j,1:n) + alpha*d(j,1:n);r(j+1,1:n) =
9、r(j,1:n) + alpha*(B*d(j,1:n)')'if norm(r(j+1,1:n)<epsi(k)p = z(j+1,1:n)'break;endbeta = r(j+1,1:n)*r(j+1,1:n)'/(r(j,1:n)*r(j,1:n)');d(j+1,1:n) = -r(j+1,1:n) + beta*d(j,1:n);end %方向找寻结束 % %获得新的迭代点 %gd = -d(1,1:n)*d(1,1:n)'alpha1,funcNk,exitflag = lines(fun,0.01,0.15,0.85,1,
10、feval(fun,x),gd,x,d(1,1:n)');x = x + alpha1*p; k = k + 1;endoutput.fval = feval(fun,x);output.funcount = k;CG- Steihaug程序代码function x,output = cg_steihaug(fun,dfun,ddfun,x0)%优%化 7.2 算法程序 % %参数初始化 %n = length(x0);x = x0;k = 1;d(1,1:n) = zeros(1,n);%开始循环,直至满足条件%while (n orm(feval(dfu n,x)>=10A-
11、5) &&(k<2000)epsi(k) = min(0.5,sqrt(norm(feval(dfun,x)*norm(feval(dfun,x);z(1,1:n) = zeros(1,n);B = feval(ddfun,x);r(1,1:n) = feval(dfun,x)'d(1,1:n) = -r(1,1:n);delta(k) = 1;%p = 0,0'%开%始搜索最优下降方向%此%算法利用信赖域法寻找方向%if norm(r(1,1:n)<epsi(k)p = z(1,1:n)'break;endfor j=1:kif d(j,1
12、:n)*B*d(j,1:n)'<=0%delta(k)s,val,posdef,count,lambda = trustM(r(k,1:n)',B,delta(k);p = s;break;endalpha = r(j,1:n)*r(j,1:n)'/(d(j,1:n)*B*d(j,1:n)');z(j+1,1:n) = z(j,1:n) + alpha*d(j,1:n);if(norm(z(j+1,1:n)>=delta(k)%tao =(-4*z(j,1: n)*d(j,1: n)'+sqrt(2*z(j,1: n)*d(j,1: n)'F2-4*(z(j,1: n)*z(j,1: n)'-delta(k)A2)/(2*d(j,1: n)*d(j,1:n)');p = z(j,1:n)' + tao*d(j,1:n)'break;endr(j+1,1:n) = r(j,1:n) + alpha*(B*d(j,1:n)')'if norm(r(j+1,1:n)<epsi(k)p = z(j+1,1:n)'break 八endbefa H rji一5)*0+1 V-S7(r015)*A1 m)-)八dq+1 i m) nA+l iS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工商管理毕业论文(论企业如何建造团队精神)
- 2024年度中国宠物行业研究报告
- 2024年度学校运动会备用电源柴油发电机组租赁合同
- 2024年度版权许可使用合同的签订要点
- 2024年度审计服务与代驾服务合同
- 2024年度工程承包合同的工程范围与工程期限
- 04版隧道工程砂石料供应合同
- 2024年度农产品仓储与物流配送合同
- 2024年度大连市沙河口区停车场地租赁合同
- 2024年度商标购买合同
- LY/T 2651-2016退化森林生态系统恢复与重建技术规程
- GB/T 24242.4-2020制丝用非合金钢盘条第4部分:特殊用途盘条
- GB 6675.3-2014玩具安全第3部分:易燃性能
- 统编初中语文教材七年级上册第三单元解析及教学建议
- 墨菲定律(参考课件)
- ZFWG200变速箱及系列驱动桥结构原理及性能介绍讲义课件
- 公路交通情况调查基础知识课件
- 水泥助磨剂简介课件
- 四年级上册英语试题-Unit 4 School单元测试 Join in外研 剑桥英语(含答案)
- 行政执法人员培训基础知识课件
- 中国传统绘画之《千里江山图》教学设计-高中美术人美版(2019)美术鉴赏
评论
0/150
提交评论