Iterating using while loop over a vector
3 views (last 30 days)
Show older comments
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];
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1200853/image.png)
0 Comments
Answers (1)
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
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.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!