Array indices must be positive integers or logical values.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Ken Boydstun
am 23 Apr. 2020
I had a similar problem which I avoided by changing the index value n to an integer.
Antworten (1)
Image Analyst
am 23 Apr. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!