Iterating using while loop over a vector

6 ビュー (過去 30 日間)
bassant tolba
bassant tolba 2022 年 11 月 20 日
編集済み: Torsten 2022 年 11 月 20 日
Dear all,
I want to iterate using while loop over a vector of size (10x1) to reach the convergence. how can I make this, such as the below figure
Can any one help me please ?
note P, ro, and z all of them are vetor with size 10x1
the actual values of ro,P, and z as follows:
ro=[1,0,0,0,0,0,0,0,0,0];
P=[1,1,1,1,1,1,1,1,1,1];
z=ro=[1,0,0,0,0,0,0,0,0,0];

回答 (1 件)

Torsten
Torsten 2022 年 11 月 20 日
編集済み: Torsten 2022 年 11 月 20 日
And how do we obtain ro_j and z_j from P_(j-1) in step 4 ?
And how to calculate P_j ?
j = 0;
error = 1;
rho=[1,0,0,0,0,0,0,0,0,0];
P=[1,1,1,1,1,1,1,1,1,1];
z=rho;
while error > 1e-4
j = j + 1;
[rho;z] = some function of P; % calculate ro_j and z_j as functions of P_(j-1)
P = ? % calculate new P_j (most probably as solution of an optimization problem)
error = ? % calculate error
end
  6 件のコメント
bassant tolba
bassant tolba 2022 年 11 月 20 日
編集済み: bassant tolba 2022 年 11 月 20 日
so how can I interpret this term p^(j-1) in the code please? how can I differentiate between p(j) and p(j-1)
Torsten
Torsten 2022 年 11 月 20 日
編集済み: Torsten 2022 年 11 月 20 日
so how can I interpret this term p^(j-1) in the code please?
As a vector of length 10 that stems from the (j-1)th iteration within the while-loop.
how can I differentiate between p(j) and p(j-1)
Work with two vectors - call the first pjm1 and the second pj.
At the end of the while loop, set pjm1 = pj which means that you take the result of iteration j as the new input of iteration j+1.

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

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by