value in each iteration

f=@(x) 0.5*(x(1)-1).^2+10*(x(2)+2).^2-2
miter=10000
and i have loop
for i=1:miter
then,who i can to calculate f(i)-f(i-1)?

6 Comments

i need to clculate
this ,
That f needs a vector of length 2 for its parameter, not a scalar i.
i al ready get the thev optimal by Gradient Descent Algorith
now ,i just need to change the tol as the equation in the previous comment
@Walter Roberson
so how can i implement it ?
You cannot. Your gradient descent formula is only valid for functions of one variable.

Sign in to comment.

Answers (1)

saja mk
saja mk on 19 Sep 2020

0 votes

but i get the optimal in GDA
x0=[2 2]';
% tol=1e-6;
miter=10000;
% dxmin=1e-6;
alpha=0.01;
% gnorm=inf;
x=x0;
niter=1;
% dx=inf;
for i=1:miter
g=[(x(1)-1); 20*(x(2)+2)];
f=@(x) 0.5*(x(1)-1).^2+10*(x(2)+2).^2-2 ;
xnew = x - alpha*g;
fnew=f(xnew);
if abs(xnew-x)<=0.00001
break
end
% niter=niter+1;
x=xnew;
end
xopt=x;
niter=niter+1;
after run :
xopt =
1.0010
-2.0000

1 Comment

this does not use the epsilon formula from https://www.mathworks.com/matlabcentral/answers/596404-value-in-each-iteration#comment_1015369

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Asked:

on 19 Sep 2020

Commented:

on 19 Sep 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!