Отдельные модули от выражения
[Data,Units]
= separateUnits(expr)
Data = separateUnits(expr)
Разделите модули от выражения 10*t*u.m/u.s
, где u = symunit
, путем обеспечения двух выходных аргументов в пользу separateUnits
.
u = symunit; syms t speed = 10*t*u.m/u.s; [Data,Units] = separateUnits(speed)
Data = 10*t Units = 1*([m]/[s])
Возвратите только выражение с модулями, удаленными путем обеспечения одного выходного аргумента.
Data = separateUnits(speed)
Data = 10*t
Когда выражение имеет несовместимые модули, ошибки separateUnits
. Модули несовместимы, когда у них нет тех же размерностей, таких как длина или время.
Разделите модули от 2*u.m + 3*u.s
, где u = symunit
. Функция separateUnits
выдает ошибку. Вместо этого чтобы перечислить модули во входе, используйте findUnits
.
u = symunit; [Data,Units] = separateUnits(2*u.m + 3*u.s)
Error using separateUnits (line 51) Input has incompatible units.
Когда вход имеет противоречивые единицы, которые могут быть преобразованы к тому же модулю, затем separateUnits
выполняет преобразование и возвращает разделенный результат. Модули противоречивы, когда они не могут быть преобразованы друг в друга с коэффициентом преобразования 1
Разделите модули от 2*u.m + 30*u.cm
. Даже при том, что модули отличаются, separateUnits
преобразовывает их в тот же модуль и возвращает разделенный результат.
u = symunit; [Data,Units] = separateUnits(2*u.m + 30*u.cm)
Data = 230 Units = [cm]
checkUnits
| findUnits
| isUnit
| newUnit
| str2symunit
| symunit
| symunit2str
| unitConversionFactor