I want to make an iteration for all arras of my vector.

1 view (last 30 days)
n=ones(size(f_s));
C_n = (1./sigmaprimevo/10).^n;
Q= (q_c-sigmavo)*10.*C_n;
F= f_s./(q_c-sigmavo)*100;
I_c= real(((3.47-log10(Q)).^2+(1.22+log10(F)).^2).^0.5);
n(I_c<1.64)=.5;
n(I_c>1.64&I_c<3.3)=(I_c(I_c>1.64&I_c<3.3)-1.64)*.3+.5;
n(I_c>3.3)=1;
my code is as above. I want to assume 1 in the first step for all arrays of n. after that n has to be calculated considering the I_c values. This has to be continued till change in n less than 0.01 (deltan<0.01). how can I write that?

Accepted Answer

Jan
Jan on 17 May 2022
n=ones(size(f_s));
ready = false;
while ~ready
nOld = n;
... Your code as above
ready = all((n - nOld) < 0.01)
% Or maybe: sum(abs(n - nOld) < 0.01
% or maybe: max(abs(b - nOld) < 0.01
% or what ever the criterion is
end

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!