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 个评论

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.

请先登录,再进行评论。

回答(1 个)

saja mk
saja mk 2020-9-19

0 个投票

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 个评论

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

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Programming 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by