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。MATLABgydF4y2Ba®gydF4y2Ba假定符号变量无量纲。的gydF4y2BacheckUnitsgydF4y2Ba函数返回逻辑gydF4y2Ba0gydF4y2Ba(gydF4y2Ba假gydF4y2Ba因为这个方程的维数是不相容的。gydF4y2Ba

u = symunit;syms A B eqn = A*u.m/u。s = = B * u.kg /美国;checkUnits (eqn“兼容”)gydF4y2Ba
ans =逻辑0gydF4y2Ba

取代gydF4y2Bau.kggydF4y2Ba与gydF4y2Bau.mgydF4y2Ba通过使用gydF4y2Ba潜艇gydF4y2Ba然后重复检查。因为现在尺寸是一致的,gydF4y2BacheckUnitsgydF4y2Ba返回逻辑gydF4y2Ba1gydF4y2Ba(gydF4y2Ba真正的gydF4y2Ba)。gydF4y2Ba

eqn =潜艇(eqn u.kg u.m);checkUnits (eqn“兼容”)gydF4y2Ba
ans =逻辑1gydF4y2Ba

检查单元一致性gydF4y2Ba

检查单元的一致性比兼容性更强。当相同尺寸的所有单位可以用1的转换因子相互转换时,单位是一致的。例如,1牛顿等于1千克米/秒gydF4y2Ba2gydF4y2Ba但不是1kg cm/sgydF4y2Ba2gydF4y2Ba。gydF4y2Ba

表明,gydF4y2Ba1gydF4y2Ba牛顿与gydF4y2Ba1gydF4y2Ba公斤米/秒gydF4y2Ba2gydF4y2Ba通过检查gydF4y2Baexpr1gydF4y2Ba但不与gydF4y2Ba1gydF4y2Ba公斤厘米/秒gydF4y2Ba2gydF4y2Ba通过检查gydF4y2Baexpr2gydF4y2Ba。gydF4y2Ba

u = symunit;expr1 = 1 * u。N + 1 * u.kg * u.m /美国^ 2;expr2 = 1 * u。N + 1 * u.kg * u.cm /美国^ 2;checkUnits (expr1“一致”)gydF4y2Ba
ans =逻辑1gydF4y2Ba
checkUnits (expr2“一致”)gydF4y2Ba
ans =逻辑0gydF4y2Ba

通过显示来显示兼容性和一致性之间的区别gydF4y2Baexpr2gydF4y2Ba尺寸一致但单位不一致。gydF4y2Ba

checkUnits (expr2“兼容”)gydF4y2Ba
ans =逻辑1gydF4y2Ba

检查多个方程式或表达式gydF4y2Ba

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

检查多个方程的兼容维度。gydF4y2BacheckUnitsgydF4y2Ba返回gydF4y2Ba[1 0]gydF4y2Ba,这意味着第一个方程有兼容的维数,而第二个方程没有。gydF4y2Ba

u = symunit;syms x y z eqn1 = x*u。m = = y * u.m ^ 2 / (z * u.m);eqn2 = x * u。m + y * u。年代==z*u.m; eqns = [eqn1 eqn2]; compatible = checkUnits(eqns,'Compatible')
compatible = 1×2 logical array 1 0gydF4y2Ba

检查部件的尺寸和一致性gydF4y2Ba

使用下列方法检查方程或表达式的兼容维度和一致单位gydF4y2BacheckUnitsgydF4y2Ba。gydF4y2Ba

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

u = symunit;美国g = 9.81 * u.cm / ^ 2;v = 10 * u.m /美国^ 2;syms x(t) y(t) x(t) = v*cos(t)y(t) = v*sin(t) + (-g*t²)/2;S = checkUnits([x y])gydF4y2Ba
S = struct with fields: Consistent: [1 0] Compatible: [1 1]gydF4y2Ba

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

美国g = 9.81 * u.m / ^ 2;y(t) = v*sin(t) + (-g*t²)/2;S = checkUnits([x y])gydF4y2Ba
S = struct with fields: Consistent: [1 1] Compatible: [1 1]gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

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

介绍了R2017agydF4y2Ba