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

1 次查看(过去 30 天)
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?

采纳的回答

Jan
Jan 2022-5-17
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

更多回答(0 个)

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by