iterative equation two unknown for parachute

9 vues (au cours des 30 derniers jours)
Suleyman Sahin
Suleyman Sahin le 17 Août 2022
Commenté : William Rose le 17 Août 2022
I need to calculate the radius of a recovery main parachute and I have two equation with two unknowns.
v=sqrt(2*Weight/(C_d*Rho*A)); % terminal velocity C_d-drag coefficient
r=sqrt((2*m*g)/(pi*C_d*Rho*velocity^2)); radius of the chute
As you can see, I need the terminal velocity to solve for radius and vice versa. I am a complete beginner at MATLAB and I have no idea how to compute it iteratively using MATLAB. Anyu help would be greatly appreciated. I tried sth myself and ofc it does not work. You can see it below.
%calculates the radius and terminal velocity of parachute during recovery
m=40; %mass of engine [kg]
g=9.81; % gravitational acceleration [m/s^2]
v=0; %terminal velocity [m/s]
C_d=1.2; % drag coefficient
Rho=1.229; % air density kg/m^3
Weight=m*g;
r=0; %radius of chute [m]
Drag= C_d*(Rho*v^2/2)*pi*r;
Drag=Weight; %at terminal velocity
A=3.2; %projected area of the chute [m^2]
tol= 0.05 %tolerance
while error <= tol
v_old=v;
r_old=r;
v=v+sqrt(2*Weight/(C_d*Rho*A));
r=r+sqrt((2*m*g)/(pi*C_d*Rho*velocity^2));
error=abs(v-1-v)
if error <= tol
break
end
end
  1 commentaire
Suleyman Sahin
Suleyman Sahin le 17 Août 2022
I made some changes. the code works now but does not converge at all even though I change the tolerance

Connectez-vous pour commenter.

Réponse acceptée

William Rose
William Rose le 17 Août 2022
Modifié(e) : William Rose le 17 Août 2022
[edit: correct typographical errors]
If you have 2 independent equations and 2 unknowns, you can solve. Matlab's fsolve() could do it.
Your equations are
and , where .
(I assume A in your first equation is . Your code does not do this, but I think it should. )
As you can see, your two equations are not independent. They are two versions of the same equation. Therefore you really have one equation. It defines a reciprocal relationship between radius ( r) and velocity (v). For a given v, there is a corresponding value of r. And vice versa. Therefore, if you have a maximum acceptable terminal velocity, you can use that to compute the chute size needed.
  2 commentaires
Suleyman Sahin
Suleyman Sahin le 17 Août 2022
Modifié(e) : Suleyman Sahin le 17 Août 2022
Thanks a lot. Your answer was very helpful.
William Rose
William Rose le 17 Août 2022
@Suleyman Sahin, you are welcome.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by