why is my code not working?

1 view (last 30 days)
Franco Belletti
Franco Belletti on 19 May 2019
Edited: madhan ravi on 19 May 2019
I should make an iterative cylce, yet when trying to run it gives me this error
Array indices must be positive integers or logical values.
for i= linspace(0.0001,0.0009,1000)
Fm= (0.25).*(((log((2.7*10^-5)+(2.51.*((Rey.*sqrt(i).^-1))))).^-1).*((log((2.7*10^-5)+(2.51.*((Rey.*sqrt(i).^-1)))))).^-1);
if Fm(i)-Fm(i+1)<= abs(10^-6)
break
end
end

Accepted Answer

KALYAN ACHARJYA
KALYAN ACHARJYA on 19 May 2019
Edited: KALYAN ACHARJYA on 19 May 2019
i= linspace(0.0001,0.0009,1000)
%.................^ ...........^............
Array indices must be non zero positive integer
like
linspace(1,1,1000)
Aprat from the above issue there is undefined function or variable 'Rey'. Ensure that it is there in your complete code.
  4 Comments
Franco Belletti
Franco Belletti on 19 May 2019
crystal clear thanks!
KALYAN ACHARJYA
KALYAN ACHARJYA on 19 May 2019
Welcome @Franco If your question is answered, you can give credit to the answer by accepting it.

Sign in to comment.

More Answers (1)

madhan ravi
madhan ravi on 19 May 2019
Edited: madhan ravi on 19 May 2019
Probably you want (no loops needed):
ii = linspace(0.0001,0.0009,1000);
Fm = (0.25).*(((log((2.7*10^-5)+...
(2.51.*((Rey.*sqrt(ii).^-1))))).^-1).*((log((2.7*10^-5)...
+(2.51.*((Rey.*sqrt(ii).^-1)))))).^-1);
First_encounter = find(abs(Fm(1:end-1)...
-Fm(2:end))<= 1e-6,1,'first')

Categories

Find more on Creating and Concatenating Matrices 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!