计量单位教程
使用符号数学工具箱™测量单位。本页展示如何定义单位,在方程(包括微分方程)中使用单位,以及验证表达式的维数。
定义和转换单位
通过使用symunit
.
U =符号单位;
通过使用指定一个单元u。
单位
.例如,指定的距离为5
米的重量50
千克,速度为10
千米每小时。
D = 5*u.m
d =
W = 50*u.kg
w =
S = 10*u.km/u.hr
s =
您可以使用标签展开来查找单元的名称。类型u。
,按选项卡,然后继续打字。
单位被视为其他符号表达式,可用于任何标准操作或函数。单元不会自动简化,这提供了灵活性。支持单元的通用替代名称。金宝app不支持复数。金宝app
添加500
米,2
公里。所得到的距离不会自动简化。
D = 500*u。M + 2*u.km
d =
简化d
通过使用简化
.的简化
函数选择要返回的单元。
D =简化(D)
d =
转换d
到一个特定的单位使用unitConvert
.转换d
公里。
d = unitConvert(d,u.km)
d =
有关更多单位转换和单位系统选项,请参见单位转换和单位系统.
用距离求速度d
旅行在50
秒。结果有正确的单位。
T = 50*美国;S = d/t
s =
使用绝对或差分形式的温度单位
默认情况下,假定温度代表差异,而不是绝对测量值。例如,5 * u。摄氏
假设代表5摄氏度的温差。这个假设允许对温度值进行算术运算。
要表示绝对温度,请使用开尔文,这样就不必区分绝对温度和温差。
转换23
从摄氏度到开尔文,首先把温度作为温差,然后作为绝对温度。
U =符号单位;T = 23*u.摄氏度;diffK = unitConvert(T, uk)
diffK =
absK = unitConvert(T,u。K,“温度”,“绝对”)
absK =
因为价值0
乘以一个符号单位作为无量纲返回0
当使用symunit
,您可以使用单元格数组来表示0
度。
例如,convert0
摄氏度到华氏度。
TC = {0,u.Celsius};TF = unitConvert(TC,u;氏度,“温度”,“绝对”)
TF =
验证维度
在较长的表达式中,视觉上检查单位是困难的。您可以通过验证方程的维数来自动检查表达式的维数。
首先,定义运动学方程 ,在那里 代表着速度, 表示加速度,且 表示距离。假设 单位为千米,其他单位均为国际单位制单位。为了演示尺寸检查,的单位 是故意设置错误的。
信谊v半一个年代U =符号单位;eqn = (v * u.m /美国)^ 2 = = (v0 * u.m /美国)^ 2 + 2 * * u.m /美国* * u.km
eqn =
观察中出现的单位eqn
通过使用findUnits
.返回的单位显示千米和米都被用来表示距离。
findUnits (eqn)
ans =
检查单位是否有相同的尺寸(如长度或时间)使用checkUnits
与“兼容”
输入。MATLAB®假定符号变量是无量纲的。checkUnits
返回逻辑0
(假
),即两个单位不兼容,且物理尺寸不同。
checkUnits (eqn“兼容”)
ans =逻辑0
看着eqn
,加速度一个
单位不正确。修正单元并再次检查兼容性。eqn
现在有兼容的单位。
eqn = (v * u.m /美国)^ 2 = = (v0 * u.m /美国)^ 2 + 2 * * u.m /美国^ 2 * * u.km;checkUnits (eqn“兼容”)
ans =逻辑1
现在,要检查每个维度是否一致地由相同的单位表示,请使用checkUnits
与“一致”
输入。checkUnits
返回逻辑0
(假
)因为米和千米都是用来表示距离的eqn
.
checkUnits (eqn“一致”)
ans =逻辑0
转换eqn
到SI基本单位,使单位一致。运行checkUnits
一次。eqn
具有兼容和一致的单元。
eqn = unitConvert(eqn,“如果”)
eqn =
checkUnits (eqn)
ans =带字段的结构:Consistent: 1 Compatible: 1
当你用完单位,只需要无量纲方程或表达式时,使用将单位和方程分开separateUnits
.
eqn = separateUnits(eqn)
eqn =
若要从表达式计算数值,请使用潜艇
,并将其转换为数值双
或vpa
.
解决eqn
为v
.然后求的值v
在哪里
,
,
.将结果转换为double。
V = solve(eqn, V);V = V (2);%选择正解vSol = subs(v,[v0 a s],[5 2.5 10]);vSol = double(vSol)
vSol = 223.6627
在微分方程中使用单位
在微分方程中使用单位就像在标准方程中一样。本节通过推导速度关系来说明如何在微分方程中使用单位 而且 从加速度的定义开始 .
用国际单位制符号表示加速度的定义。已知速度V
有单位,一定要微分吗V
对于正确的单位为T =美国
不仅仅是t
.
信谊V (t)一个U =符号单位;T = T *美国;%时间(秒)A = A *u.m/ us ^2;%加速度,单位为米每秒eqn1 = A == diff(V,T)
eqn1 (t) =
因为速度V
是未知的,没有单位,eqn1
具有不兼容和不一致的单位。
checkUnits (eqn1)
ans =带字段的结构:Consistent: 0 Compatible: 0
解决eqn1
为V
初始速度是
.结果就是方程
.
信谊v_0cond = V(0) == v_0*u.m/ us;eqn2 = V = dsolve(eqn1,cond)
eqn2 (t) =
通过替换检查结果是否具有正确的尺寸园艺学会(eqn2)
成eqn1
和使用checkUnits
.
checkUnits(潜艇(eqn1 V, rhs (eqn2)))
ans =带字段的结构:Consistent: 1 Compatible: 1
现在,推导
.因为速度是距离的变化率,代入V
对距离求导年代
.考虑到这一点年代
有单位,一定要微分吗年代
对于正确的单位为T =美国
不仅仅是t
.
信谊S (t)eqn2 = sub (eqn2,V,diff(S,T))
eqn2 (t) =
解决eqn2
条件是覆盖的初始距离为0
.得到的期望形式年代
通过使用扩大
.
cond2 = S(0) == 0;eqn3 = S = dsolve(eqn2,cond2);Eqn3 =扩展(Eqn3)
eqn3 (t) =
您可以将此方程用于符号工作流中的单元。或者,您可以通过返回右边的使用来删除单位园艺学会
,通过使用分离单元separateUnits
,并使用得到的无单位表达式。
[S units] = separateUnits(rhs(eqn3))
S (t) =
单位(t) =
当需要从表达式中计算数值时,使用潜艇
,并将其转换为数值双
或vpa
.
求进去的距离8
秒,V_0 = 20
而且A = 1.3
.将结果转换为double。
S = subs(S,[v_0 a],[20 1.3]);dist = S(8);Dist = double(Dist)
Dist = 201.6000
另请参阅
checkUnits
|findUnits
|isUnit
|newUnit
|separateUnits
|symunit2str
|unitConversionFactor
|unitConvert