鲍威尔修正算法

2020-04-03 09:54

第4.2题

Clear[e1,e2,S,S1,S2,x,x0,x1,x2,α,α1,α2,α3,ε,F1,F2,F3,R1,R2,diff,Func,Leng,i,temp];

Func[x_]=x[[1,1]]^2+2*x[[2,1]]^2-4*x[[1,1]]-2*x[[1,1]]*x[[2,1]]; Leng[y_]=Sqrt[Power[y[[1,1]],2]+Power[y[[2,1]],2]];

e1={{1},{0}};e2={{0},{1}}; S1=e1;S2=e2;

x0={{1},{1}};ε=0.001;diff=3; For[ ,True,, α1=α/.Last[Maximize[Func[x0+α*S1],α]]; α1=α/.Last[Minimize[Func[x0+α*S1],α]]; x1=x0+α1*S1; α2=α/.Last[Maximize[Func[x1+α*S2],α]]; α2=α/.Last[Minimize[Func[x1+α*S2],α]]; x2=x1+α2*S2; S=x2-x0; α3=α/.Last[Maximize[Func[x2+α*S],α]]; α3=α/.Last[Minimize[Func[x2+α*S],α]]; x=x2+α3*S; R1=Func[x0]-Func[x1]; R2=Func[x1]-Func[x2]; Δ=Max[R1,R2]; x3=2x2-x0; F1=Func[x0]; F2=Func[x2]; F3=Func[x3]; If[ F3>=F1||(F1-2F2+F3)(F1-F2-Δ)^2>=Δ/2*(F1-F3)^2, If[F2

Print[N[x]];

Print[N[Func[x]]]

Part::partd: 部分指定 x[[1,1]] 比对象深度更长. >> Part::partd: 部分指定 x[[2,1]] 比对象深度更长. >> Part::partd: 部分指定 x[[1,1]] 比对象深度更长. >>

General::stop: 在本次计算中,Part::partd 的进一步输出将被抑制. >> Part::partd: 部分指定 y[[1,1]] 比对象深度更长. >> Part::partd: 部分指定 y[[2,1]] 比对象深度更长. >>

Maximize::natt: 无法在任何满足给定约束条件的点取得最大值. >> Maximize::natt: 无法在任何满足给定约束条件的点取得最大值. >> Maximize::natt: 无法在任何满足给定约束条件的点取得最大值. >>

General::stop: 在本次计算中,Maximize::natt 的进一步输出将被抑制. >> 3.99992x=()

1.99988F(x)=?8.


鲍威尔修正算法.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数形结合思想在解题中的应用 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: