第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
x0=x;temp=S1;S1=S2;S2=temp;
];
diff=Leng[S];
If[diff<ε,Break[]];
];
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的进一步输出将被抑制.>>
x=
(
3.99992
1.99988
)
F
(
x
)
=−8.
本文发布于:2022-11-26 14:33:23,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/25655.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |