Единицы измерения
u = symunit
возвращает модули набора. Затем задайте любой модуль измерения при помощи u.
unit
. Для примера задайте 3
метров как 3*u.m
. Поддерживаются общие альтернативные имена для модулей, такие как u.meter
и u.metre
. Множественные значения не поддерживаются.
Перед указанием единиц загружайте модули при помощи symunit
. Затем задайте модуль измерения при помощи записи через точку.
Задайте длину 3
метров. Можно также использовать псевдонимы u.meter
или u.metre
.
u = symunit; length = 3*u.m
length = 3*[m]
Совет
Используйте расширение вкладок для поиска имен модулей. Тип u.
, нажмите Tab и продолжите ввод.
Задайте ускорение из-за силы тяжести 9.81
метров в секунду за секунду. Поскольку модулями являются символьные выражения, числовые входы преобразуются в точные символические значения. Здесь, 9.81
преобразуется в 981/100
.
g = 9.81*u.m/u.s^2
g = (981/100)*([m]/[s]^2)
Если вы незнакомы с различиями между символьной и числовой арифметикой, см. «Выбор числовой или символьной арифметики».
Модули измерения ведут себя как символьные выражения, когда вы выполняете стандартные операции над ними. Для числовых операций отделите значение от модулей, замените любые символьные параметры и преобразуйте результат в двойной.
Найдите скорость, необходимую для путешествия 5
км в 2
часов.
u = symunit; d = 5*u.km; t = 2*u.hr; s = d/t
s = (5/2)*([km]/[h])
Значение 5/2
является символическим. Вы можете предпочитать двойной выход или потребовать двойной вывод для MATLAB® функция, которая не принимает символические значения. Преобразуйте в double путем разделения числового значения с помощью separateUnits
а затем использование double
.
[sNum,sUnits] = separateUnits(s)
sNum = 5/2 sUnits = 1*([km]/[h])
sNum = double(sNum)
sNum = 2.5000
Полные модули рабочего процесса см. в разделе «Единицы измерения Руководства».
Используйте предпочитаемый модуль путем переписывания модулей используя unitConvert
. Кроме того, вместо определения конкретных модулей можно указать, что выход должен быть в терминах модулей СИ.
Вычислите силу, необходимую для ускорения 2
кг по 5
м/с2. Выражение не переписывается автоматически в терминах Newtons.
u = symunit; m = 2*u.kg; a = 5*u.m/u.s^2; F = m*a
F = 10*(([kg]*[m])/[s]^2)
Преобразуйте выражение в ньютоны при помощи unitConvert
.
F = unitConvert(F,u.N)
F = 10*[N]
Преобразование 5
см до дюймов.
length = 5*u.cm; length = unitConvert(length,u.in)
length = (250/127)*[in]
Преобразование length
в модули СИ. Результат в метрах.
length = unitConvert(length,'SI')
length = (1/20)*[m]
Упростите выражения, содержащие модули той же размерности, используя simplify
. Модули не упрощаются автоматически или проверяются на согласованность, если вы не вызываете simplify
.
u = symunit; expr = 300*u.cm + 40*u.inch + 2*u.m
expr = 300*[cm] + 40*[in] + 2*[m]
expr = simplify(expr)
expr = (3008/5)*[cm]
simplify
автоматически выбирает модуль для перезаписи в терминах. Для выбора определенной единицы смотрите Преобразование между модулями.
По умолчанию температуры приняты, чтобы представлять различия температур. Для примера, 5*u.Celsius
представляет собой различие температуры 5 степеней Цельсия. Это предположение позволяет проводить арифметические операции по значениям температур и преобразованию между шкалами температур.
Чтобы представлять абсолютные температуры, используйте степени Кельвина, чтобы вы не должны отличать абсолютную температуру от различия температур.
Преобразование 23
степени Цельсия к Кельвину, обрабатывая температуру сначала как различие температур, а затем как абсолютную температуру.
u = symunit; T = 23*u.Celsius; diffK = unitConvert(T,u.K)
diffK = 23*[K]
absK = unitConvert(T,u.K,'Temperature','absolute')
absK = (5923/20)*[K]
1
представляет безразмерный модуль. Следовательно, isUnit(sym(1))
возвращает логический 1
(true
).
Некоторые нелинейные модули, такие как децибелы, не реализованы, потому что арифметические операции не возможны для этих модулей.
Вместо того, чтобы использовать запись через точку для задания модулей, можно также использовать строковый вход как symunit(unit)
. Для примера, symunit('m')
определяет единичный счетчик.
checkUnits
| isUnit
| newUnit
| separateUnits
| symunit2str
| unitConversionFactor
| unitConvert
| unitInfo