iterative equation two unknown for parachute

6 Ansichten (letzte 30 Tage)
Suleyman Sahin
Suleyman Sahin am 17 Aug. 2022
Kommentiert: William Rose am 17 Aug. 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 Kommentar
Suleyman Sahin
Suleyman Sahin am 17 Aug. 2022
I made some changes. the code works now but does not converge at all even though I change the tolerance

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

William Rose
William Rose am 17 Aug. 2022
Bearbeitet: William Rose am 17 Aug. 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 Kommentare
Suleyman Sahin
Suleyman Sahin am 17 Aug. 2022
Bearbeitet: Suleyman Sahin am 17 Aug. 2022
Thanks a lot. Your answer was very helpful.
William Rose
William Rose am 17 Aug. 2022
@Suleyman Sahin, you are welcome.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Programming 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!

Translated by