exponenta event banner

Преобразование единиц и системы единиц

Преобразование между единицами измерения с помощью символьных математических 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

Автоматическое преобразование в правильные единицы измерения путем преобразования в систему единиц измерения. Кроме того, преобразование в производные единицы измерения системы единиц измерения пытается выбрать удобные единицы измерения. Доступные единичные системы включают 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

Определить с помощью newUnit.

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
ЭнергияHartreeu.E_h
Электрический дипольный моментea0

Определить с помощью newUnit.

Магнитный дипольный момент2 Боровый магнетон = eλ/2me

Определить с помощью newUnit.

Электрический потенциалЭч/э

Определить с помощью newUnit.

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').

См. также

| | | | | |

Связанные темы

Внешние веб-сайты