Iterating using while loop over a vector
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
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 个评论
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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!