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 件のコメント

Mario Malic
Mario Malic 2020 年 9 月 19 日
saja mk
saja mk 2020 年 9 月 19 日
i need to clculate
this ,
Walter Roberson
Walter Roberson 2020 年 9 月 19 日
That f needs a vector of length 2 for its parameter, not a scalar i.
saja mk
saja mk 2020 年 9 月 19 日
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
saja mk
saja mk 2020 年 9 月 19 日
@Walter Roberson
so how can i implement it ?
Walter Roberson
Walter Roberson 2020 年 9 月 19 日
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 件のコメント

Walter Roberson
Walter Roberson 2020 年 9 月 19 日
this does not use the epsilon formula from https://www.mathworks.com/matlabcentral/answers/596404-value-in-each-iteration#comment_1015369

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

質問済み:

2020 年 9 月 19 日

コメント済み:

2020 年 9 月 19 日

Community Treasure Hunt

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

Start Hunting!

Translated by