How can I do this iteration?

4 ビュー (過去 30 日間)
Elia Paini
Elia Paini 2021 年 7 月 10 日
コメント済み: ANKUR KUMAR 2021 年 7 月 11 日
Hi, I have a simple question related to a problem.
I have to make an iterative code which updates values of some hypothesized vectors, until I reach convergence.
To simplify, I have two vectors a,b with initial assumed values, then the cycle updates their values until it stops when:
, where "i" is the iteration index.
I think this can be solved with an easy code, maybe with a while cicle?
Thank you for your help!

回答 (1 件)

ANKUR KUMAR
ANKUR KUMAR 2021 年 7 月 11 日
編集済み: ANKUR KUMAR 2021 年 7 月 11 日
Here is the sample code using random data
a=rand(1,50);
b=rand(1,50);
threshold=0.5; % You need to change it to 1e-6 and use original data
i=1;
out= -9999; % setting random data
while out<threshold
out(i)=abs(a(i+1)-a(i))+abs(b(i+1)-b(i));
i=i+1;
end
out
out = 1×3
0.3175 0.4034 0.6554
  2 件のコメント
Elia Paini
Elia Paini 2021 年 7 月 11 日
Thanks! But how can I save all simulated vectors in a matrix, at each iteration? In your code, "i" refers to the element of the vectors, while it should represent the column of a matrix built at every iteration.
ANKUR KUMAR
ANKUR KUMAR 2021 年 7 月 11 日
Updated the code.

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

カテゴリ

Help Center および File ExchangeParticle & Nuclear Physics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by