Преобразование между единицами измерения с помощью символьных математических 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 и US. Для всех систем единиц измерения см. Список систем единиц измерения. Кроме того, можно определить пользовательские системы единиц измерения.
Рассчитайте силу, обусловленную ускорением массы 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]
Преобразование спецификации в СИ в производные единицы измерения США. Укажите абсолютные температуры.
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
Пользовательские системы единиц измерения обеспечивают гибкость преобразования единиц измерения. Можно легко определить пользовательскую систему единиц измерения, изменив систему единиц измерения по умолчанию. Кроме того, можно непосредственно определить систему. Определения системы единиц измерения, базовых единиц измерения и производных единиц измерения см. в разделе Определение системы единиц измерения.
В фотонике обычно используемыми единицами являются наносекунда (ns), электронный вольт (eV) и нанометр (нм). Определите систему единиц измерения с этими единицами измерения путем изменения системы единиц измерения 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 |
| Длина | Радиус Бора (a0) | 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 |
| Электрический дипольный момент | ea0 | Определить с помощью |
| Магнитный дипольный момент | 2 Боровый магнетон = eλ/2me | Определить с помощью |
| Электрический потенциал | Эч/э | Определить с помощью |
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 базовых единиц. Например, для механических систем требуются базовые единицы измерения только для размеров длины, массы и времени.
Производные единицы в единичной системе должны иметь представление в терминах произведений мощностей базовых единиц для этой системы. В отличие от базовых единиц, производные единицы не обязательно должны быть независимыми.
Производные единицы измерения являются необязательными и добавляются для удобства представления. Например, кг м/с2 сокращено ньютоном.
Примером единичной системы является единичная система СИ, имеющая 7 базовых единиц: килограмм, секунда, метр, ампер, кандела, моль, кельвин. Существует 22 производные единицы, найденные при вызове derivedUnits('SI').
baseUnits | derivedUnits | newUnitSystem | removeUnit | removeUnitSystem | symunit | unitConvert