Effacer les filtres
Effacer les filtres

help with for loop matrix size

1 vue (au cours des 30 derniers jours)
kyle mikkola
kyle mikkola le 9 Oct 2015
Modifié(e) : Stephen23 le 9 Oct 2015
% Initial values
h(1) = 0;
rho(1)= po*M/(R*To);
t(1) = 0;
vy(1) = 0;
dt = 1;
p(1) = po;
T(1) = To;
x(1) = 0;
vx(1) = 0;
Fdy(1)= 0;
Fdx(1)= 0;
% Position for loop
for i=1:480
m1(i) = ms + mt + ml*(1-t(i)/Tt) + mr + ms*(1-t(i)/Tb); % Mass Stage 1
g(i) = go * (re/(re+h(i)))^2; % Gravitational Acceleration Above Earth
Fdy(i) = .5 * rho(i) * vy(i)^2 * Cd *A; % Drag Force y-direction
rho(i) = (p(i) * M)/(R*T(i)); % Air Density
p(i) = po * (1-(L*h(i)/To))^(g(i)*M/(R*L)); % Air Pressure
T(i) = To - L * h(i); % Air Temperature
Fdx(i) = .5 * rho(i) * vx(i)^2 * Cd *A; % Drag Force x-direction
t(i+1)=t(i)+dt;
x(i+1)=x(i)+dt*(vx(i));
vx(i+1)=vx(i)+dt*(FTx1-Fdx(i))/m1(i);
h(i+1)=h(i)+dt*(vy(i));
vy(i+1)=vy(i)+dt*((FTy1/m1(i))+((vx(i)^2)/(re+h(i)))-g(i)-(Fdy(i)/m1(i)));
end
When I run this loop it says that rho(2) does not exist. It seems that the loop is not calculating a new value for rho every step. How should I fix this?
Thanks in advance
  1 commentaire
kyle mikkola
kyle mikkola le 9 Oct 2015
I thought that make rho(1)=something just means that i set the first rho value and then the loop would update every value after that? How should I change this?

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 9 Oct 2015
You currently have
Fdy(i) = .5 * rho(i) * vy(i)^2 * Cd *A; % Drag Force y-direction
rho(i) = (p(i) * M)/(R*T(i)); % Air Density
You need to exchange those two lines so rho(i) is set before it is used.
  1 commentaire
kyle mikkola
kyle mikkola le 9 Oct 2015
Thank you so much! It works now!

Connectez-vous pour commenter.

Plus de réponses (1)

Stalin Samuel
Stalin Samuel le 9 Oct 2015
In the line rho(1)= po*M/(R*To); you define that size of rho is 1.But you are accessing the values from 1 to 480.So it says that rho(2) does not exist.
  1 commentaire
Stalin Samuel
Stalin Samuel le 9 Oct 2015
Modifié(e) : Walter Roberson le 9 Oct 2015
h = 0;
rho= po*M/(R*To);
t = 0;
vy= 0;
dt = 1;
p= po;
T= To;
x = 0;
vx= 0;
Fdy= 0;
Fdx= 0;

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by