Array indices must be positive integers or logical values.
Mostrar comentarios más antiguos
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 comentario
Setsuna Yuuki.
el 13 de Nov. de 2020
works well for me

Respuesta aceptada
Más respuestas (1)
Varun Krishna
el 31 de Ag. de 2023
0 votos
t=0:0.01:2;
x(t)=3.*sin(10.*pi.*t).*exp(-2.*t);
1 comentario
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
Categorías
Más información sobre Logical en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!