iterative equation two unknown for parachute

11 ビュー (過去 30 日間)
Suleyman Sahin
Suleyman Sahin 2022 年 8 月 17 日
コメント済み: William Rose 2022 年 8 月 17 日
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 件のコメント
Suleyman Sahin
Suleyman Sahin 2022 年 8 月 17 日
I made some changes. the code works now but does not converge at all even though I change the tolerance

サインインしてコメントする。

採用された回答

William Rose
William Rose 2022 年 8 月 17 日
編集済み: William Rose 2022 年 8 月 17 日
[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 件のコメント
Suleyman Sahin
Suleyman Sahin 2022 年 8 月 17 日
編集済み: Suleyman Sahin 2022 年 8 月 17 日
Thanks a lot. Your answer was very helpful.
William Rose
William Rose 2022 年 8 月 17 日
@Suleyman Sahin, you are welcome.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by