I made some changes. the code works now but does not converge at all even though I change the tolerance
iterative equation two unknown for parachute
7 次查看(过去 30 天)
显示 更早的评论
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
采纳的回答
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spline Postprocessing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!