Array indices must be positive integers or logical values.
Show older comments
Hello,
My code below is displaying the following error message:
"Array indices must be positive integers or logical values.
Error in Assign5_Prob7 (line 38)
phi(i) = atand(tan(phi_o)+((g*t(i))/Vx_o)*((1/3)*((Vx_o/Vx(i)+ sqrt((Vx_o/Vx(i)))+1)))); "
I don't see anything resulting in a zero within the equation. I'm not sure why this error is displaying. Thank you.
Vy_o = 0.00001;
Vx_o = 2296;
phi_o = atand(Vx_o/Vy_o);
for i = 1:6
x(i) = (i-1)*200*3;
y(i) = (i-1)*200*3;
Vx(i) = (sqrt(Vx_o) - ((k3/2)*x(i)))^2;
t(i) = (x(i)/Vx_o)*sqrt(Vx_o/Vx(i));
phi(i) = atand(tan(phi_o)+((g*t(i))/Vx_o)*((1/3)*((Vx_o/Vx(i)+ sqrt((Vx_o/Vx(i)))+1))));
1 Comment
Setsuna Yuuki.
on 13 Nov 2020
works well for me

Accepted Answer
More Answers (1)
Varun Krishna
on 31 Aug 2023
0 votes
t=0:0.01:2;
x(t)=3.*sin(10.*pi.*t).*exp(-2.*t);
1 Comment
There's no such thing as element 0 or element 0.01 of an array in MATLAB. Replace x(t) with just x. Or if you want to create a function that can be evaluated for different values of t, make x an anonymous function.
t=0:0.01:2;
x=3.*sin(10.*pi.*t).*exp(-2.*t);
y = @(t) 3.*sin(10.*pi.*t).*exp(-2.*t);
isequal(x, y(t)) % evaluate y at the points in t
Categories
Find more on Matrix Indexing 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!