Отдельные модули от выражения
[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