Единицы измерения
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)
Если вы незнакомы с различиями между символьной и числовой арифметикой, смотрите, Выбирают Numeric or Symbolic Arithmetic.
Модули ведут себя как символьные выражения, когда вы выполняете стандартные операции на них. Для числовых операций разделите значение от модулей, замены для любых символьных параметров, и преобразуйте результат удвоиться.
Найдите скорость требуемой переместиться 5
км в 2
часы.
u = symunit; d = 5*u.km; t = 2*u.hr; s = d/t
s = (5/2)*([km]/[h])
Значение 5/2
является символьным. Можно предпочесть дважды выход или потребовать дважды выведенный для MATLAB® функция, которая не принимает символьные значения. Преобразуйте, чтобы удвоиться путем разделения использования числового значения separateUnits
и затем использование double
.
[sNum,sUnits] = separateUnits(s)
sNum = 5/2 sUnits = 1*([km]/[h])
sNum = double(sNum)
sNum = 2.5000
Для полного модульного рабочего процесса см. Пример по Единицам измерения.
Используйте свой предпочтительный модуль путем перезаписи модульного использования unitConvert
. Кроме того, вместо того, чтобы задать определенные модули, можно указать, что выход должен быть в терминах единиц СИ.
Вычислите силу, требуемую ускорять 2
kg 5
m/s2. Выражение автоматически не переписано в терминах Ньютонов.
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
cm к дюймам.
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