exponenta event banner

mixedUnits

Разбить единицу на сумму единиц

Описание

пример

mixedUnits(quantity,units) разделяет физическую величину quantity в линейную комбинацию единиц измерения в units.

  • Единицы измерения в units должен быть в порядке убывания величины.

  • Единицы измерения в quantity и units должна быть совместимой.

  • quantity не должен содержать символьные переменные.

Примеры

свернуть все

Разделение 8000 секунд в часах, минутах и секундах с помощью mixedUnits. Результат - 2 часов, 13 минут и 20 секунд.

u = symunit;
t = 8000*u.s;
tunits = [u.hour u.minute u.second];
tSplit = mixedUnits(t,tunits)
tSplit =
[ 2, 13, 20]

Настройка отображаемых выходных данных с помощью compose.

compose("%d hours + %d minutes + %.1f seconds", double(tSplit))
ans = 
    "2 hours + 13 minutes + 20.0 seconds"

Преобразование географической координаты 15.352° на градусы (°), аркминуты (') и арксекунды ("). Результат - 15 ° 21 '36/5 ".

gCoord = 15.352*u.degree;
gUnits = [u.degree u.arcmin u.arcsec];
gCoordSplit = mixedUnits(gCoord,gUnits)
gCoordSplit =
[ 15, 21, 36/5]

Преобразование результата из символьной в плавающую точку с помощью double.

gCoordDbl = double(gCoordSplit)
gCoordDbl =
   15.0000   21.0000    7.2000

Восстановите исходную координату путем суммирования единиц разделения и перезаписи результата в градусы. mixedUnits возвращает точный символический результат вместо числового приближения. Дополнительные сведения см. в разделе Выбор числовой или символьной арифметики.

gOrig = sum(gCoordSplit.*gUnits);
gOrig = rewrite(gOrig,u.degree)
gOrig =
(1919/125)*[deg]

Входные аргументы

свернуть все

Ввод, заданный как символическое выражение с единицами измерения. quantity не должен содержать символьные переменные. Единицы измерения в quantity и units должна быть совместимой.

Единицы для представления входных данных как, заданные как вектор символьных единиц. Единицы измерения должны быть в порядке убывания величины. Единицы измерения в quantity и units должна быть совместимой.

Представлен в R2018a