讲解CHE 431留学生、辅导MATLAB程序语言、讲解MATLAB、辅导BlackBoard

- 首页 >> Matlab编程
CHE 431, Spring 2019, Problem Set 6
Due date: 11:59pm, Tue, 03/12/2019.
Problem 1 (10 pts). Let f(~x) = (1.5 x1 + x1x2)
, where ~x = (x1, x2).
Write a MATLAB script to find the minimum of f(~x) using ”Dogleg Trust
Region” method and the following steps:
Set the condition for global convergence: ||~ f(~x)|| < T ol, where T ol
Consider ρ = (f(~x) f(~x + ~p))/(m(~x,~0) m(~x, ~p)), where ~p is the
chosen direction (which is NOT normalized) at every iteration,
m(~x, ~p) = f(~x) +~ f(~x).~p + 1/2 ~p B ~p,
and B is the Hessian matrix. Then
if ρ < η1, set = t1
elseif (ρ > η2 and |||~p|| < 0.001) set = min(t2, max)
end
where η1 = 0.25, η2 = 0.75, t1 = 0.25, t2 = 2, and max = 5.
Initialize = 2.
Set the initial guess to ~x0 = (3, 2), and maximum number of iterations
to 50.
For each iteration, your script should print out the following (numerical
values are shown as an example of such print-out):
Iter= 1; ~x=[ 2.827, 1.627]; ~p=[-0.173,-0.373];= 5.0000e-01; ρ= 1.245;
λ= 0.190
where λ = ( ||~pS||)/||~pN ~pS||), and ~pN and ~pS are Newton’s and
steepest descent direction vectors (which are NOT normalized), respectively.
Submit the MATLAB script on BlackBoard.
Hint: An image of the convergence path is shown below.

站长地图