checkUnits

Verifica a consistência dimensional de uma expressão com unidades.

Categoria: Symbolic Computations in MATLAB > Units of Measurement

Sintaxe

s = checkUnits(expr)

Retorna uma struct com os campos Consistent e Compatible.

tf = checkUnits(expr, 'Consistent')

Testa apenas se todas as parcelas somadas têm exatamente as mesmas unidades.

tf = checkUnits(expr, 'Compatible')

Testa se as parcelas somadas têm unidades conversíveis.

Descrição

Grandezas só podem ser somadas ou comparadas se têm a mesma dimensão. Compatible é verdadeiro quando cada soma combina unidades da mesma dimensão, como m e km, mesmo com escalas diferentes. Consistent é mais estrito e exige exatamente a mesma unidade em todos os termos, então 1*m + 2*km é compatível, mas não consistente.

Somar um comprimento a um tempo não é nem uma coisa nem outra: os dois campos são falsos.

Argumentos de entrada

expr
Expressão simbólica com unidades.

Argumentos de saída

s
Struct com campos lógicos.
tf
Resultado lógico do teste pedido.

Exemplo

Somas mistas, compatíveis e inválidas

u = symunit;
checkUnits(1*u.m + 2*u.m, 'Consistent')
checkUnits(1*u.m + 2*u.km, 'Consistent')
s = checkUnits(1*u.m + 2*u.km)
chw = checkUnits(1*u.m + 2*u.s, 'Compatible')
Saída
ans = logical
   1
ans = logical
   0
s = struct with fields:

    Consistent: 0
    Compatible: 1
chw = logical
   0

Veja também

unitConvert symunit findUnits isUnit