Преобразуйте между модулями с Symbolic Math Toolbox™. Эта страница показывает преобразования между модулями и между системами модулей, такими как SI, CGS или пользовательская модульная система.
Преобразуйте между модулями при помощи unitConvert
.
Преобразуйте 1,2 метра в сантиметры.
u = symunit; len = 1.2*u.m; len = unitConvert(len,u.cm)
len = 120*[cm]
Преобразуйте len
в дюймы. Результат находится в точной символьной форме. Отдельные модули и преобразовывают, чтобы удвоиться.
len = unitConvert(len,u.in)
len = (6000/127)*[in]
[len units] = separateUnits(len); len = double(len)
len = 47.2441
Вычислите сила должна была ускорить массу 5 кг в 2 m/s2.
m = 5*u.kg; a = 2*u.m/u.s^2; F = m*a
F = 10*(([kg]*[m])/[s]^2)
Преобразуйте результат в ньютон.
F = unitConvert(F,u.N)
F = 10*[N]
Используйте расширение вкладки, чтобы найти имена модулей. Введите u.
, нажмите Tab и продолжите вводить.
Вычислите энергию, когда сила F
будет прикладываться для 3 метров. Преобразуйте результат в джоуль.
d = 3*u.m; E = F*d
E = 30*[N]*[m]
E = unitConvert(E,u.J)
E = 30*[J]
Преобразуйте E
в час киловатта.
E = unitConvert(E,u.kWh)
E = (1/120000)*[kWh]
Температуры могут представлять или абсолютные температуры или перепад температур. По умолчанию температуры приняты, чтобы быть различиями. Преобразуйте температуры, принимающие, что температуры являются абсолютными путем определения входа 'Temperature'
как 'absolute'
.
Преобразуйте градусы Цельсия 23
в степени Келвин, сначала как перепад температур и затем как абсолютная температура.
u = symunit; T = 23*u.Celsius; relK = unitConvert(T,u.K,'Temperature','difference')
relK = 23*[K]
absK = unitConvert(T,u.K,'Temperature','absolute')
absK = (5923/20)*[K]
Поскольку значение, 0
является безразмерным и степени 0
, не может быть представлено, преобразовать степени 0
между температурными модулями при помощи входа ячейки.
Преобразуйте градусы Цельсия 0
в градусы по Фаренгейту.
tC = {0,u.Celsius}; tF = unitConvert(tC,u.Fahrenheit,'Temperature','Absolute')
tF = 32*[Fahrenheit]
Автоматически преобразуйте в правильные модули путем преобразования в модульную систему. Далее, преобразование в производные единицы модульной системы пытается выбрать удобные модули. Доступные модульные системы включают SI, CGS и США. Для всех модульных систем см. Модульный Список Систем. Кроме того, можно задать пользовательские модульные системы.
Вычислите силу из-за 5-килограммовой массы, ускоряющейся в 2 m/s2. Получившиеся модули трудно считать. Преобразуйте их в удобные модули путем определения опций Derived
и SI
. unitConvert
автоматически выбирает правильные модули ньютона.
u = symunit; m = 5*u.kg; a = 2*u.m/u.s^2; F = m*a
F = 10*(([kg]*[m])/[s]^2)
F = unitConvert(F,'SI','Derived')
F = 10*[N]
Преобразуйте F
в модули США. По умолчанию преобразованные единицы являются основными единицами. Для удобства также преобразуйте в производные единицы путем определения опции Derived
. Производные единицы легче считать.
F = unitConvert(F,'US')
F = (1250000000000/17281869297)*(([ft]*[lbm])/[s]^2)
F = unitConvert(F,'US','Derived')
F = (20000000000000/8896443230521)*[lbf]
Преобразуйте F
в производные единицы CGS.
F = unitConvert(F,'CGS','Derived')
F = 1000000*[dyn]
Преобразуйте спецификацию в SI к производным единицам США. Задайте температуры как абсолютные.
loadCell = [ 3*u.kg; % capacity 50*u.mm; % length 15*u.mm; % width 10*u.mm; % height -10*u.Celsius; % minimum temperature 40*u.Celsius; % maximum temperature ]; loadCell = unitConvert(loadCell,'US','derived','Temperature','absolute')
loadCell = (300000000/45359237)*[lbm] (125/762)*[ft] (25/508)*[ft] (25/762)*[ft] 14*[Fahrenheit] 104*[Fahrenheit]
Если unitConvert
не выбирает ваш предпочтительный модуль, то настраивает результат с дальнейшими командами unitConvert
. Здесь, дюймы более удобны, чем ноги. Преобразуйте результат в дюймы.
loadCell = unitConvert(loadCell,u.inch)
loadCell = (300000000/45359237)*[lbm] (250/127)*[in] (75/127)*[in] (50/127)*[in] 14*[Fahrenheit] 104*[Fahrenheit]
Точные символьные значения трудно считать. Разделите модули и преобразуйте в double
.
[loadCellDouble loadCellUnits] = separateUnits(loadCell); loadCellDouble = double(loadCellDouble)
loadCellDouble = 6.6139 1.9685 0.5906 0.3937 14.0000 104.0000
Также аппроксимируйте результат к высокой точности при помощи vpa
. Функция vpa
также сохраняет символьные модули, потому что она возвращает символьный выходной параметр.
loadCell = vpa(loadCell)
loadCell = 6.6138678655463274216892140403508*[lbm] 1.968503937007874015748031496063*[in] 0.5905511811023622047244094488189*[in] 0.3937007874015748031496062992126*[in] 14.0*[Fahrenheit] 104.0*[Fahrenheit]
Преобразуйте пять акров (ac
), модуль которого является американским акром обзора к метрической области.
u = symunit; area = 5*u.ac; area = unitConvert(area,'SI')
area = (313632000000/15499969)*[m]^2
Пользовательские модульные системы обеспечивают гибкость в преобразовании единиц. Можно легко задать пользовательскую модульную систему путем изменения модульной системы по умолчанию. Также можно задать систему непосредственно. Для определений модульной системы основные единицы и производные единицы, видят Модульное Системное Определение.
В фотонике обычно используемые модули являются наносекундой (не уточнено), электрон-вольтом (эВ) и нанометром (нм). Задайте модульную систему с этими модулями путем изменения системы единицы СИ. Получите основные единицы SI и производные единицы при помощи baseUnits
и derivedUnits
. Измените модули при помощи subs
.
u = symunit; bunits = baseUnits('SI'); bunits = subs(bunits,[u.m u.s],[u.nm u.ns])
bunits = [ [kg], [ns], [nm], [A], [cd], [mol], [K]]
dunits = derivedUnits('SI'); dunits = subs(dunits,u.J,u.eV)
dunits = [ [F], [C], [S], [H], [V], [eV], [N], [lx], [lm], [Wb], [W], [Pa],... [Ohm], [T], [Gy], [Bq], [Sv], [Hz], [kat], [rad], [sr], [Celsius]]
Не задавайте переменные под названием baseUnits
и derivedUnits
, потому что переменные предотвращают доступ к функциям derivedUnits
и baseUnits
.
Задайте новую модульную систему при помощи newUnitSystem
.
phSys = newUnitSystem('photonics',bunits,dunits)
phSys = "photonics"
Вычислите энергию фотона частоты 1 ГГц и преобразуйте результат в производные единицы системы phSys
. Результат находится в электрон-вольтах.
f = 1*u.GHz; E = u.h_c*f; E = unitConvert(E,phSys,'Derived')
E = 0.0000041356676623401643884479280999879*[eV]
Точный символьный результат трудно считать. Разделите модули и преобразуйте, чтобы удвоиться.
[E Eunits] = separateUnits(E); E = double(E)
E = 4.1357e-06
После завершающихся вычислений удалите модульную систему.
removeUnitSystem(phSys)
Задайте пользовательскую модульную систему для атомарных модулей (au).
Задайте эти основные единицы:
Размерность | Модуль | Реализация |
---|---|---|
Масса | Электронная масса отдыха | u.m_e |
Элементарный заряд | Заряд электрона | u.e |
Длина | Боровский радиус (a 0) | u.Bohr |
Время | ħ/Eh | Задайте при помощи |
u = symunit; t_au = newUnit('t_au',u.hbar/u.E_h); bunits = [u.m_e u.e u.Bohr u.t_au]
bunits = [ [m_e], [e], [a_0], [t_au]]
Задайте эти производные единицы:
Размерность | Модуль | Реализация |
---|---|---|
Угловой момент | Константа уменьшаемого Планка | u.hbar |
Энергия | Hartree | u.E_h |
Электрический дипольный момент | e a 0 | Задайте при помощи |
Магнитный дипольный момент | 2 магнетона Бора = e ħ/2me | Задайте при помощи |
Электрический потенциал | E h/e | Задайте при помощи |
edm_au = newUnit('edm_au',u.e*u.bohr); mdm_au = newUnit('mdm_au', u.e*u.hbar/(2*u.me)); ep_au = newUnit('ep_au', u.E_h/u.e); dunits = [u.hbar u.E_h u.edm_au u.mdm_au u.ep_au]
dunits = [ [h_bar], [E_h], [edm_au], [mdm_au], [ep_au]]
Задайте модульную систему.
auSys = newUnitSystem('atomicUnits',bunits,dunits)
auSys = "atomicUnits"
Преобразуйте свойства протона к атомарным модулям.
proton = [ 1.672624898e-27*u.kg; % mass 1.6021766208e-19*u.C; % charge 5.4e-24*u.e*u.cm; % electric dipole moment 1.4106067873e-26*u.J/u.T; % magnetic dipole moment ]; proton = unitConvert(proton,auSys,'Derived')
proton = 1836.1559670674356174696928918542*[m_e] 1.0000000000000000578208778346486*[e] 0.0000000000000010204521077472272506008435148061*[edm_au] 0.0015210322058038370229109632800588*[mdm_au]
После завершающихся вычислений удалите модульную систему и добавленные модули.
removeUnitSystem(auSys) removeUnit([u.t_au u.edm_au u.mdm_au u.ep_au])
Модульная система является набором основных единиц и производных единиц, который следует этим правилам:
Основные единицы должны быть независимыми с точки зрения массы размерностей, время, длина, электрический ток, яркая интенсивность, количество вещества и температура. Поэтому модульная система имеет до 7 основных единиц. Пока независимость удовлетворена, любой модуль может быть основной единицей, включая модули, такие как ньютон или ватт.
Модульная система может иметь меньше чем 7 основных единиц. Например, механическим системам нужны основные единицы только для длины размерностей, массы, и время.
Производные единицы в модульной системе должны иметь представление с точки зрения продуктов степеней основных единиц для той системы. В отличие от основных единиц, производные единицы не должны быть независимыми.
Производные единицы являются дополнительными и добавленными для удобства представления. Например, kg m/s2 сокращен ньютоном.
Примером модульной системы является система единицы СИ, которая имеет 7 основных единиц: килограмм, во-вторых, метр, ампер, кандела, молекулярная масса и кельвин. Существует 22 производных единицы, найденные путем вызова derivedUnits('SI')
.
baseUnits
| derivedUnits
| newUnitSystem
| removeUnit
| removeUnitSystem
| symunit
| unitConvert