Преобразуйте между модулями с 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 м/с2.
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 м/с2. Получившиеся модули трудно считать. Преобразуйте их в удобные модули путем определения SI и Derived опции. 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_US; 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 потому что переменные предотвращают доступ к baseUnits и derivedUnits функции.
Задайте новую модульную систему при помощи 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 = (44173801/10681177560000)*[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.672621923e-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.1526726825404620381265471117*[m_e]
0.99999999176120807953267071600981*[e]
0.0000000000000010204521072979158730257341288851*[edm_au]
0.00048415958374162452452052339364507*pi*[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