主要内容

测量教程单位

使用符号数学工具箱™测量单位。本页面展示了如何定义单位,在方程(包括微分方程)中使用单位,以及验证表达式的尺寸。

定义和转换单位

使用负载单元symunit

u = symit;

通过使用指定一个单元u。单元.例如,指定距离5米,重量50千克,速度10每小时公里。在显示的输出中,单位放置在方括号中[]

d = 5 * u.m w = 50 * u.kg s = 10 * u.km / u.hr
D = 5*[m] w = 50*[kg] s = 10*([km]/[h])

提示

使用选项卡扩展以查找单位的名称。类型u。, 按标签,继续打字。

单元与其他符号表达式一样,可以用于任何标准操作或函数。单位不会自动简化,这提供了灵活性。支持单元的常用替代名称。金宝app不支持复数。金宝app

添加500.米,2公里。产生的距离不会自动简化。

d = 500 * u.m + 2 * u.km
D = 2*[km] + 500*[m]

简化d通过使用简化.这简化功能自动选择单元简化为。

d =简化(d)
d =(5/2)* [km]

而不是自动选择一个单位,转换d通过使用的特定单位UnitConvert..转换d米。

d = unitConvert (d, u.m)
d = 2500 * [m]

有更多单元转换和单元系统选项。看单位转换和单元系统

找到速度如果距离d是交叉的50秒。结果有正确的单位。

t = 50 * U.S;s = D / T
s = 50 *([m] / [s])

使用绝对或差异形式的温度单位

默认情况下,假设温度表示差异而不是绝对测量。例如,5 * u。摄氏假设表示5摄氏度的温差。这个假设允许对温度值进行算术运算。

为了表示绝对温度,使用开尔文,这样你就不必区分绝对温度和温度差。

转换23从摄氏度到开尔文,先把它看成一个温度差,再把它看成绝对温度。

u = symit;t = 23 * u.celsius;diffk = UnitConvert(T,U.K)
diffK = 23 * [K]
Absk = UnitConvert(T,U.K,'温度','绝对')
absk =(5923/20)* [k]

验证尺寸

在较长的表达中,视觉检查单位是困难的。您可以通过验证等式的尺寸自动检查表达式的尺寸。

首先,定义运动方程 v 2 v 0 2 + 2 一个 年代 , 在哪里v代表速度,一个代表加速度,和年代代表距离。认为年代的单位是公里,其他单位都是国际单位制的基本单位。演示尺寸检查,单位一个故意不正确。

syms v v0 a s u = symit;eqn =(v * u.m / u.s)^ 2 ==(v0 * u.m / u.s)^ 2 + 2 * a * u.m / u.s * s * u.km
eqn = v ^ 2 * ([m] ^ 2 / [s] ^ 2) = = v0 ^ 2 * ([m] ^ 2 / [s] ^ 2) +(2 * *年代)*(((公里)* [m]) / [s])

观察出现的单位EQN.通过使用findUnits.返回的单位表示千米和米都用来表示距离。

findUnits (eqn)
ans = [[km],[m],[S]]

使用时检查单位尺寸(如长度、时间等)是否相同核心机关与之'兼容的'输入。马铃薯草®假设符号变量是无量纲的。核心机关返回逻辑0),这意味着单位是不相容的,并且不具有相同的物理维度。

Chromponits(EQN,'兼容')
ans =逻辑0

看着EQN.,加速一个有不正确的单位。更正单位并再次重新检查兼容性。EQN.现在有兼容的单位。

eqn =(v * u.m / u.s)^ 2 ==(v0 * u.m / u.s)^ 2 + 2 * a * u.m / u.s ^ 2 * s * u.km;Chromponits(EQN,'兼容')
ans =逻辑1

现在,检查每个维度是否始终如一地由同一单元表示,使用核心机关与之'持续的'输入。核心机关返回逻辑0),因为米和公里都是用来表示距离EQN.

checkUnits (eqn“一致”)
ans =逻辑0

转换EQN.以使单位一致。运行核心机关再次。EQN.具有兼容和一致的单位。

eqn = unitConvert (eqn“SI”)
eqn = v ^ 2 *([m] ^ 2 / [s] ^ 2)== v0 ^ 2 *([m] ^ 2 / [s] ^ 2)+(2000 * a * s)*([m] ^ 2 / [s] ^ 2)
支出(EQN)
ans = struct with fields: Consistent: 1 Compatible: 1

当你用完单位,只需要无量纲方程或表达式时,用separateUnits

[EQN,单位] = SONDOLUNS(EQN)
eqn = v ^ 2 = = v0 ^ 2 + 2000 * *年代单位= 1 * ([m] ^ 2 / [s] ^ 2)

您可以通过乘法将原始方程与单位返回EQN.单位并扩展结果。

扩大(eqn *单位)
ans = v ^ 2 *([m] ^ 2 / [s] ^ 2)== v0 ^ 2 *([m] ^ 2 / [s] ^ 2)+(2000 * a * s)*([m] ^ 2 / [s] ^ 2)

要从表达式中计算数值,使用潜艇,并使用双倍的或者vpa

解决EQN.v.然后求值v在哪里v0 = 5a = 2.5, 和s = 10.将结果转换为double。

v =解决(eqn, v);v = (2);%选择正溶液vSol = subs(v,[v0 a s],[5 2.5 10]);vSol =双(vSol)
vSol = 223.6627

在微分方程中使用单位

在微分方程中使用单位就像在标准方程中一样。本节介绍如何通过推导速度关系在微分方程中使用单位vv0+一个t v 2 v 0 2 + 2 一个 年代 从加速的定义开始 一个 d v d t

用国际单位制符号表示加速度的定义。假设速度V单位,V必须与正确的单位相差t = t * U.S而不只是t

syms v(t)a u = symit;t = t * U.S;%在几秒钟内= a * u.m / u.s ^ 2;每秒米的%加速度eqn1 = a == diff(v,t)
EQN1(t)= a *([m] / [s] ^ 2)== diff(v(t),t)*(1 / [s])

因为速度V是未知的,没有单位,EQN1.具有不兼容和不一致的单元。

支出(EQN1)
ans = struct with fields: Consistent: 0 Compatible: 0

解决EQN1.V条件是初始速度为v0.结果是等式v (t)v0+一个t

syms v0 cond = v(0)== v0 * u.m / U.s;eqn2 = v == dsolve(eqn1,cond)
EQN2(t)= v(t)== v0 *([m] / [s])+ a * t *([m] / [s])

通过替换来检查结果的尺寸是否正确园艺学会(eqn2)EQN1.并使用核心机关

checkUnits(潜艇(eqn1 V, rhs (eqn2)))
ans = struct with fields: Consistent: 1 Compatible: 1

现在,得出 v 2 v 0 2 + 2 一个 年代 .因为速度是距离的变化率,代入V对距离求导年代.再次,鉴于这一点年代单位,年代必须与正确的单位相差t = t * U.S而不只是t

S(t) eqn2 = subs(eqn2,V,diff(S, t))
EQN2(t)=差异(s(t),t)*(1 / [s])== v0 *([m] / [s])+ a * t *([m] / [s])

解决EQN2.所覆盖的初始距离为0.得到预期的形式年代通过使用扩张

cond2 = s(0)== 0;eqn3 = s == dsolve(eqn2,cond2);eqn3 =展开(eqn3)
eqn3(t)= s(t)== t * v0 * [m] +((a * t ^ 2)/ 2)* [m]

您可以使用此等式与符号工作流程中的单位。或者,您可以通过返回右侧使用来删除单位RHS.,使用分离单元separateUnits,并使用得到的无唯一表达式。

[S units] = separateUnits(rhs(eqn3))
s(t)=(a * t ^ 2)/ 2 + v0 * t单元(t)= [m]

当需要从表达式中计算数值时,使用潜艇,并使用双倍的或者vpa

求旅行的距离8秒,v0 = 20.a = 1.3.将结果转换为double。

s =子(s,[v0 a],[20 1.3]);dist = s(8);dist = double(dist)
dist = 201.6000.

另请参阅

|||||||

相关话题

外部网站