Отделить единицы от выражения
Отделить единицы измерения от выражения 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 52) Argument 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