这个例子说明了如何在物理计算单位工作。计算在SI和英制单位的下降伞兵的终端速度。解决了伞兵的运动,考虑到重力和阻力。GydF4y2Ba
想象一下,一个伞兵跳出飞机。假设只有两个作用于伞兵力:引力和降落伞相反的阻力。该阻力正比于平方伞兵的速度。GydF4y2Ba
作用在伞兵的净力可表示为GydF4y2Ba
,GydF4y2Ba
,GydF4y2Ba
哪里GydF4y2Ba
是伞兵的质量GydF4y2Ba
GGydF4y2Ba是重力加速度GydF4y2Ba
是伞兵的速度GydF4y2Ba
是阻力不断GydF4y2Ba
定义描述运动方程式的微分方程。GydF4y2Ba
SYMSGydF4y2BaGGydF4y2Ba米GydF4y2Ba光盘GydF4y2BaSYMSGydF4y2BaV(t)的GydF4y2Ba当量= M *的diff(V(T),T)+ M *克== C_D * V(t)的2 ^GydF4y2Ba
EQ =GydF4y2Ba
假设降落伞立即打开GydF4y2Ba
从而使方程GydF4y2BaEQGydF4y2Ba
适用于所有值GydF4y2Ba
。解微分方程分析使用GydF4y2BadsolveGydF4y2Ba
初始条件GydF4y2Ba
。该解决方案代表了伞兵的速度作为时间的函数。GydF4y2Ba
速度=简化(dsolve(当量,V(0)== 0))GydF4y2Ba
速度=GydF4y2Ba
查找阻力常数的SI单位GydF4y2Ba 。GydF4y2Ba
力的SI单位是牛顿GydF4y2Ba 。在基座单元的观点出发,是牛顿GydF4y2Ba 。由于这些是等效的,它们具有1的单位转换系数。GydF4y2Ba
U = symunit;unitConversionFactor(u.N,u.kg *微摩尔/ U.S ^ 2)GydF4y2Ba
ANS =GydF4y2Ba
该阻力GydF4y2Ba 必须在牛顿同一单位GydF4y2Ba 由于引力GydF4y2Ba 。使用三维分析,求解的单元GydF4y2Ba 。GydF4y2Ba
SYMSGydF4y2Badrag_units_SIGydF4y2Badrag_units_SI =简化(解决(drag_units_SI *(微摩尔/ U.S)^ 2 == u.N))GydF4y2Ba
drag_units_SI =GydF4y2Ba
通过定义以下值描述了伞兵的运动。GydF4y2Ba
伞兵的质量GydF4y2Ba
重力加速度GydF4y2Ba
风阻系数GydF4y2Ba
替代这些值代入方程速度和简化的结果。GydF4y2Ba
vel_SI =潜艇(速度,[G,M,C_D],[9.81 *微摩尔/ U.S ^ 2,70 * u.kg,40 * drag_units_SI])GydF4y2Ba
vel_SI =GydF4y2Ba
vel_SI =简化(vel_SI)GydF4y2Ba
vel_SI =GydF4y2Ba
计算速度的数值近似至3个显著位数。GydF4y2Ba
数字(3)vel_SI = VPA(vel_SI)GydF4y2Ba
vel_SI =GydF4y2Ba
伞兵接近时的重力是由拖曳力平衡以恒定的速度。这就是所谓的终端速度,并且当从所述降落伞拖曳力抵消了重力(没有进一步的加速度)时执行的。通过采取限查找终端速度GydF4y2Ba 。GydF4y2Ba
vel_term_SI = LIMIT(vel_SI,T,Inf文件)GydF4y2Ba
vel_term_SI =GydF4y2Ba
最后,转换速度函数从SI单位英制单位。GydF4y2Ba
vel_Imperial =重写(vel_SI,u.ft)GydF4y2Ba
vel_Imperial =GydF4y2Ba
转换的末端速度。GydF4y2Ba
vel_term_Imperial =重写(vel_term_SI,u.ft)GydF4y2Ba
vel_term_Imperial =GydF4y2Ba
要绘制的速度与时间的函数,表示时间GydF4y2BaŤGydF4y2Ba
在几秒钟内更换GydF4y2BaŤGydF4y2Ba
通过GydF4y2BaŤGydF4y2Ba
s,其中GydF4y2BaŤGydF4y2Ba
是无量纲的符号变量。GydF4y2Ba
SYMSGydF4y2BaŤGydF4y2Bavel_SI =潜艇(vel_SI,T,T * U.S)GydF4y2Ba
vel_SI =GydF4y2Ba
vel_Imperial =重写(vel_SI,u.ft)GydF4y2Ba
vel_Imperial =GydF4y2Ba
通过使用从分离单元的表达GydF4y2BaseparateUnitsGydF4y2Ba
。使用绘制表达GydF4y2BafplotGydF4y2Ba
。转换单位为字符串用作使用绘图标签GydF4y2Basymunit2strGydF4y2Ba
。GydF4y2Ba
[data_SI,units_SI] = separateUnits(vel_SI);[data_Imperial,units_Imperial] = separateUnits(vel_Imperial);GydF4y2Ba
伞兵的速度接近稳定状态时GydF4y2Ba 。显示速度如何在范围绘制速度接近终端速度GydF4y2Ba 。GydF4y2Ba
副区(1,2,1)fplot(data_SI,[0 2])标题(GydF4y2Ba“速度SI单位”GydF4y2Ba)xlabel(GydF4y2Ba“时间S”GydF4y2Ba)ylabel([GydF4y2Ba“速度在”GydF4y2Basymunit2str(units_SI)])副区(1,2,2)fplot(data_Imperial,[0 2])标题(GydF4y2Ba“速度英制单位”GydF4y2Ba)xlabel(GydF4y2Ba“时间S”GydF4y2Ba)ylabel([GydF4y2Ba“速度在”GydF4y2Basymunit2str(units_Imperial)])GydF4y2Ba