Iterating using while loop over a vector

6 views (last 30 days)
bassant tolba
bassant tolba on 20 Nov 2022
Edited: Torsten on 20 Nov 2022
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];

Answers (1)

Torsten
Torsten on 20 Nov 2022
Edited: Torsten on 20 Nov 2022
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 Comments
bassant tolba
bassant tolba on 20 Nov 2022
Edited: bassant tolba on 20 Nov 2022
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 on 20 Nov 2022
Edited: Torsten on 20 Nov 2022
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.

Sign in to comment.

Categories

Find more on Modeling in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!