why is my code not working?

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

 采纳的回答

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 个评论

I don't think the problem is the linspace as it gives me the row with values I need Rey is ofcourse defined in my code, but the problem regards the loop, I'd like to know what does the eror mean, again that being
Array indices must be positive integers or logical values. which particulary refers to my If cylce
if Fm(i)-Fm(i+1)<= abs(10^-6)
I have answered based on the error
Array indices must be positive integers or logical values.
With this line space i= linspace(0.0001,0.0009,1000)
if Fm(i)-Fm(i+1)<= abs(10^-6)
This does not work
Say i=0.0001, that is first value
Fm(i)>>Fm(0.0001) does it have any menaing
%...^................^ ...these are called indices of an array, it must be non zero positive interger.
crystal clear thanks!
Welcome @Franco If your question is answered, you can give credit to the answer by accepting it.

请先登录,再进行评论。

更多回答(1 个)

madhan ravi
madhan ravi 2019-5-19
编辑:madhan ravi 2019-5-19
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')

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by