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