# How do I plot the value at each iteration?

81 views (last 30 days)
SA on 20 Mar 2020
Commented: SA on 21 Mar 2020
My code below is to compute the minimum value and vector using the conjugate gradient method. How do i plot the value at each iteration? Thanks.
%this program computes the optimal solution of a nonlinear programming
%xstar - the global optimal solution
%value - optimal solution
tic;
g0 = (0.5*Q'*x) + (0.5*Q*x) + q; %g is the gradient
d = -g0;
b = (-g0) + Q*x;
g_old = g0;
for i = 1:n
alpha = -(g_old'*d)/(d'*Q*d)
x = x + (alpha*d)
g_new = (Q*x) - b
beta = (g_new'*Q*d)/(d'*Q*d)
res = norm(g_new) %res = residual which is the min distance
value = (0.5*x'*Q*x) +(q'*x) + c
if res < tol
xstar = x
minv = value
fprintf("The minimum value is %d and it converged after %d iterations \n", value, i)
break
end
d = (-g_new) + (beta*d)
g_old = g_new
end
toc
end

Cris LaPierre on 20 Mar 2020
I shared a simple example in a similar post recently. That might help.
SA on 21 Mar 2020
It worked Cris. Thanks so much for the help.