此示例演示如何在物理计算中使用单位。用国际单位制和英制单位计算空降伞兵的最终速度。考虑重力和阻力,求解伞兵的运动。gydF4y2Ba
想象一个伞兵从飞机上跳下来。假设只有两种力作用在伞兵身上:重力和来自降落伞的反向阻力。阻力与伞兵速度的平方成正比。gydF4y2Ba
作用在伞兵身上的净力可以表示为gydF4y2Ba
,gydF4y2Ba
,gydF4y2Ba
哪里gydF4y2Ba
是伞兵的质量gydF4y2Ba
ggydF4y2Ba是重力加速度gydF4y2Ba
是空降兵的速度吗gydF4y2Ba
为阻力常数gydF4y2Ba
定义描述运动方程的微分方程。gydF4y2Ba
符号gydF4y2BaggydF4y2BamgydF4y2Ba重金属镉gydF4y2Ba符号gydF4y2Bav(t)gydF4y2Ba等式=m*diff(v(t),t)+m*g==c_d*v(t)^2gydF4y2Ba
情商=gydF4y2Ba
假设降落伞在最短的时间内立即打开gydF4y2Ba
所以方程gydF4y2Ba情商gydF4y2Ba
对于的所有值都有效gydF4y2Ba
. 用解析法求解微分方程gydF4y2BadsolvegydF4y2Ba
在初始条件下gydF4y2Ba
. 该解表示伞兵的速度随时间的变化。gydF4y2Ba
速度=简化(dsolve(等式,v(0)=0))gydF4y2Ba
速度=gydF4y2Ba
求阻力常数的SI单位gydF4y2Ba .gydF4y2Ba
力的国际单位制是牛顿gydF4y2Ba . 就基本单位而言,牛顿是gydF4y2Ba . 因为它们是等效的,所以它们的单位转换系数为1。gydF4y2Ba
u = symunit;unitConversionFactor (u。N, u.kg * u.m /美国^ 2)gydF4y2Ba
ans=gydF4y2Ba
阻力gydF4y2Ba 必须有相同的单位牛顿gydF4y2Ba 就像重力gydF4y2Ba .运用量纲分析,求出单位为gydF4y2Ba .gydF4y2Ba
符号gydF4y2Badrag_units_SIgydF4y2Ba拖动单位=简化(求解(拖动单位*(u.m/u.s)^2==u.N))gydF4y2Ba
拖动单位=gydF4y2Ba
通过定义以下值来描述伞兵的运动。gydF4y2Ba
伞兵人数gydF4y2Ba
重力加速度gydF4y2Ba
阻力系数gydF4y2Ba
将这些值代入速度方程并简化结果。gydF4y2Ba
vel_SI =潜艇(速度,[g、m、重金属镉],[9.81 * u.m / u。s ^ 2, 70 * u。公斤,40*drag_units_SI])
韦尔西=gydF4y2Ba
vel_SI =简化(vel_SI)gydF4y2Ba
韦尔西=gydF4y2Ba
计算速度到3位有效数字的数值近似值。gydF4y2Ba
vel_SI = vpa(vel_SI)gydF4y2Ba
韦尔西=gydF4y2Ba
当重力与阻力平衡时,伞兵接近一个恒定速度。这就是所谓的终极速度,它发生在降落伞的阻力抵消了重力(没有进一步的加速度)的时候。求极限,求终速度gydF4y2Ba .gydF4y2Ba
水平项=极限(水平项,t,Inf)gydF4y2Ba
水平术语=gydF4y2Ba
最后,将速度函数从SI单位转换为英制单位。gydF4y2Ba
vel_Imperial=重写(vel_SI,u.ft)gydF4y2Ba
维卢帝国酒店=gydF4y2Ba
转换终端速度。gydF4y2Ba
vel_term_Imperial=重写(vel_term_SI,u.ft)gydF4y2Ba
高级术语=gydF4y2Ba
要将速度绘制为时间的函数,请表示时间gydF4y2BatgydF4y2Ba
在几秒内替换gydF4y2BatgydF4y2Ba
通过gydF4y2BaTgydF4y2Ba
s、 在哪里gydF4y2BaTgydF4y2Ba
是一个无量纲的符号变量。gydF4y2Ba
符号gydF4y2BaTgydF4y2Ba标高=接头(标高、t、t*u.s)gydF4y2Ba
韦尔西=gydF4y2Ba
vel_Imperial=重写(vel_SI,u.ft)gydF4y2Ba
维卢帝国酒店=gydF4y2Ba
使用命令将表达式与单位分离gydF4y2Ba分离单元gydF4y2Ba
.用以下方法绘制表达式gydF4y2BafplotgydF4y2Ba
. 通过使用将单位转换为字符串以用作打印标签gydF4y2BaSYMUNT2STRgydF4y2Ba
.gydF4y2Ba
[数据单位]=独立单位(水平单位);[数据单位为英制,单位为英制]=分隔单位(单位为英制);gydF4y2Ba
伞兵的速度接近稳定状态gydF4y2Ba . 通过绘制范围内的速度来显示速度如何接近终点速度gydF4y2Ba .gydF4y2Ba
子批次(1,2,1)fplot(数据[0 2])标题(gydF4y2Ba“国际单位制速度”gydF4y2Ba)包含(gydF4y2Ba“时间到了”gydF4y2Ba)伊拉贝尔([gydF4y2Ba“速度在”gydF4y2BaSYMUNT2STR(单位制)])子批次(1,2,2)fplot(数据[0 2])标题(gydF4y2Ba“以英制单位表示的速度”gydF4y2Ba)包含(gydF4y2Ba“时间到了”gydF4y2Ba)伊拉贝尔([gydF4y2Ba“速度在”gydF4y2Basymunit2str (units_Imperial)))gydF4y2Ba