Array indices must be positive integers or logical values.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
dt = 0.1;
t = 0.1:dt:1000;
V = zeros(1, length(t));
m = zeros(1, length(t));
h = zeros(1, length(t));
p = zeros(1, length(t));
for n=2:length(t)
p(n) = 1.225*10^(3.*h(n)/50000);
h(n) = h(n-1) + 0.5*(V((n)*dt)+ V((n-1)*dt));
V(n) = (V_e/dt)*(1-(n*dt)/(m(n-1)*dt)) - (G*M)/(h(n-1)*dt + R).^2 + (p(n)*A*V(n-1)^2*dt*C_d*dt/(m(n-1)*dt) + 1);
end
i keep getting an error on the second line that wont allow my code to run so i made every changing value (p,h and n) arrays of length t but it still didnt work and i dont know how to get rid of the error message.
2 comentarios
Ken Boydstun
el 23 de Abr. de 2020
I had a similar problem which I avoided by changing the index value n to an integer.
Respuestas (1)
Image Analyst
el 23 de Abr. de 2020
Probably the most FA'ed of the FAQs: https://matlab.fandom.com/wiki/FAQ#.22Subscript_indices_must_either_be_real_positive_integers_or_logicals..22
(n)*dt is not an integer, and it needs to be. Suggest you reexamine what you really want to do.
0 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!