主要内容gydF4y2Ba

checkUnitsgydF4y2Ba

检查兼容的尺寸和一致的单位gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

C = checkUnits(gydF4y2BaexprgydF4y2Ba)gydF4y2Ba检查gydF4y2BaexprgydF4y2Ba用于兼容的维度和一致的单元,并返回包含字段的结构gydF4y2Ba一致的gydF4y2Ba而且gydF4y2Ba兼容的gydF4y2Ba.字段包含逻辑gydF4y2Ba0gydF4y2Ba(gydF4y2Ba假gydF4y2Ba)或合乎逻辑的gydF4y2Ba1gydF4y2Ba(gydF4y2Ba真正的gydF4y2Ba),视乎检查结果而定。gydF4y2Ba

exprgydF4y2Ba如果所有项具有相同的维度(如长度或时间),则具有兼容的维度。gydF4y2BaexprgydF4y2Ba如果相同维度的所有单位都可以以1的转换因子相互转换,则具有一致的单位。gydF4y2Ba

例子gydF4y2Ba

C = checkUnits(gydF4y2BaexprgydF4y2Ba、“兼容”)gydF4y2Ba只检查gydF4y2BaexprgydF4y2Ba对于兼容的尺寸。gydF4y2Ba

例子gydF4y2Ba

C = checkUnits(gydF4y2BaexprgydF4y2Ba“一致”)gydF4y2Ba只检查gydF4y2BaexprgydF4y2Ba对于一致的单位。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

检查一个方程或表达式的量纲。检查尺寸以确认方程或表达式有效。gydF4y2Ba

验证方程的维数gydF4y2Ba

一个gydF4y2Ba 米gydF4y2Ba 年代gydF4y2Ba =gydF4y2Ba BgydF4y2Ba 公斤gydF4y2Ba 年代gydF4y2Ba

通过使用gydF4y2BacheckUnitsgydF4y2Ba有选项gydF4y2Ba“兼容”gydF4y2Ba.MATLAB®假定符号变量是无量纲的。的gydF4y2BacheckUnitsgydF4y2Ba函数返回逻辑gydF4y2Ba0gydF4y2Ba(gydF4y2Ba假gydF4y2Ba)因为方程的维数不相容。gydF4y2Ba

U =符号单位;信谊gydF4y2Ba一个gydF4y2BaBgydF4y2Baeqn = A*u.m/u。年代==B*u.kg/u.s; checkUnits(eqn,“兼容”gydF4y2Ba)gydF4y2Ba
ans =gydF4y2Ba逻辑gydF4y2Ba0gydF4y2Ba

取代gydF4y2Bau.kggydF4y2Ba与gydF4y2Bau.mgydF4y2Ba通过使用gydF4y2Ba潜艇gydF4y2Ba重复检查。因为维度现在是兼容的,gydF4y2BacheckUnitsgydF4y2Ba返回逻辑gydF4y2Ba1gydF4y2Ba(gydF4y2Ba真正的gydF4y2Ba).gydF4y2Ba

Eqn = subs(Eqn,u.kg,u.m);checkUnits (eqngydF4y2Ba“兼容”gydF4y2Ba)gydF4y2Ba
ans =gydF4y2Ba逻辑gydF4y2Ba1gydF4y2Ba

检查单元的一致性比检查兼容性更有效。当相同维度的所有单位都可以以1的转换因子相互转换时,单位是一致的。例如,1牛顿等于1kg m/s²,但不等于1kg cm/s²。gydF4y2Ba

表明,gydF4y2Ba1gydF4y2Ba牛顿与gydF4y2Ba1gydF4y2BaKg m/s²gydF4y2Baexpr1gydF4y2Ba但不是用gydF4y2Ba1gydF4y2BaKg cm/s²gydF4y2Baexpr2gydF4y2Ba.gydF4y2Ba

U =符号单位;Expr1 = 1*u。N + 1*u.kg*u.m/ us ^2;Expr2 = 1*u。N + 1*u.kg*u.cm/ us ^2;checkUnits (expr1gydF4y2Ba“一致”gydF4y2Ba)gydF4y2Ba
ans =gydF4y2Ba逻辑gydF4y2Ba1gydF4y2Ba
checkUnits (expr2gydF4y2Ba“一致”gydF4y2Ba)gydF4y2Ba
ans =gydF4y2Ba逻辑gydF4y2Ba0gydF4y2Ba

通过展示兼容性和一致性之间的区别gydF4y2Baexpr2gydF4y2Ba具有兼容的尺寸,但不一致的单位。gydF4y2Ba

checkUnits (expr2gydF4y2Ba“兼容”gydF4y2Ba)gydF4y2Ba
ans =gydF4y2Ba逻辑gydF4y2Ba1gydF4y2Ba

通过将多个方程或表达式放入数组来检查它们。gydF4y2BacheckUnitsgydF4y2Ba返回一个数组,其元素与输入的元素相对应。gydF4y2Ba

检查多个方程的兼容尺寸。gydF4y2BacheckUnitsgydF4y2Ba返回gydF4y2Ba[1 0]gydF4y2Ba,即第一个方程具有相容的维数,而第二个方程则不相容。gydF4y2Ba

U =符号单位;信谊gydF4y2BaxgydF4y2BaygydF4y2BazgydF4y2BaEqn1 = x*u。米==y*u.m^2/(z*u.m); eqn2 = x*u.m + y*u.s == z*u.m; eqns = [eqn1 eqn2]; compatible = checkUnits(eqns,“兼容”gydF4y2Ba)gydF4y2Ba
兼容的=gydF4y2Ba1x2逻辑阵列gydF4y2Ba1 0gydF4y2Ba

使用。检查方程或表达式的相容尺寸和一致单位gydF4y2BacheckUnitsgydF4y2Ba.gydF4y2Ba

定义运动弹丸的x和y位移方程。检查它们的单元的兼容性和一致性。gydF4y2Ba

U =符号单位;信谊gydF4y2BaθgydF4y2BaxgydF4y2BaygydF4y2BatsgydF4y2BaG = 9.81*u.cm/ us ^2;V = 10*u.m/ us;T = ts*美国;X = v*cos(theta)*t;Y = v*sin(theta)*t + (-g*t²)/2;S = checkUnits([x y])gydF4y2Ba
S =gydF4y2Ba带字段的结构:gydF4y2BaConsistent: [1 0] Compatible: [1 1]gydF4y2Ba

第二个方程的维数相容,但单位不一致。这种不一致是因为gydF4y2BaggydF4y2Ba错误地使用cm代替m。重新定义gydF4y2BaggydF4y2Ba再检查一下方程。第二个方程的单位是一致的。gydF4y2Ba

G = 9.81*u.m/ us ^2;Y = v*sin(theta)*t + (-g*t²)/2;S = checkUnits([x y])gydF4y2Ba
S =gydF4y2Ba带字段的结构:gydF4y2Ba一致:[1 1]兼容:[1 1]gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

输入表达式,指定为符号表达式、方程、函数、向量、矩阵或多维数组。gydF4y2Ba

版本历史gydF4y2Ba

在R2017a中引入gydF4y2Ba