第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.