Why do I keep getting "Array indices must be positive integers logical value"
Ältere Kommentare anzeigen
a=0.00810
g=9.81
w=0:0.5:2
n=length(w)
for i=1:n
S(i)=((a*(g.^2)/(w(i)).^5))*exp(-0.74*(w(i)*v/g).^(-4
))
4 Kommentare
Star Strider
am 16 Okt. 2020
That runs for me without error in R2020b, (after defining ‘v’ as a scalar, and adding the missing end).
Jon
am 16 Okt. 2020
I can't reproduce your error from what code you have included here. For example you don't define your variable v, and there is no end statement for the for loop so it won't even run as is. Please provide code that reproduces the error. Note that you can format the code nicely using the code button in the MATLAB answers toolbar
Aarushi Ajit
am 17 Okt. 2020
Bearbeitet: Aarushi Ajit
am 17 Okt. 2020
Walter Roberson
am 17 Okt. 2020
a=0.00810
g=9.81
v=10
w=0:0.5:2
n=length(w)
for i=1:n
S(i)=((a*(g.^2)/(w(i)).^5))*exp(-0.74*(w(i)*v/g).^(-4));
end
figure;
plot(w,S);
Antworten (2)
Ameer Hamza
am 16 Okt. 2020
What is value of 'v' in your case? If it is scalar, the code works fine. Run the following
a=0.00810;
g=9.81;
w=0:0.5:2;
n=length(w);
v=1;
S = zeros(1, n); % pre-allocation is a good coding practice
for i=1:n
S(i)=((a*(g.^2)/(w(i)).^5))*exp(-0.74*(w(i)*v/g).^(-4));
end
Jon
am 16 Okt. 2020
0 Stimmen
In general that error comes from trying to index an array with something other than a positive integer or a logical variable. So for example if I have an array x = [1,8,19.3 2] and a variable b = 43.3 and I try to index x using the non-integer value b as in x(b) I will get the error you describe.
I can't reproduce your error from what code you have included here. For example you don't define your variable v, and there is no end statement for the for loop so it won't even run as is. Even if I assign a value to v, and provide the end statement I still don't get the error you indicate. Please provide code that reproduces the error. Note that you can format the code nicely using the code button in the MATLAB answers toolbar.
Kategorien
Mehr zu Logical finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!