ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

unitConvert

異なる測定単位への単位の変換

説明

unitConvert(expr,units) は式 expr のシンボリック単位を単位 units に変換します。ここで、units は複合単位または単位のベクトルです。

unitConvert(expr,unitSystem)expr を単位系 unitSystem に変換します。既定では、使用可能な単位系は SI、CGS および US です。newUnitSystem を使用して、カスタム単位系を定義することもできます。

unitConvert(expr,unitSystem,'Derived') は単位を unitSystem の派生単位に変換します。

___ = unitConvert(___,'Temperature',convMode) は、前の構文の入力引数を使用して、'absolute' または 'difference' と指定することで、温度はそれぞれ絶対温度または温度差で表されるかどうかを示します。引数 'Temperature' は温度の単位を変換するときのみ影響します。既定値では、温度は差分であると仮定しています。

すべて折りたたむ

5 cm をインチに変換します。計算はシンボリックであるため、unitConvert はシンボリックの非整数の結果を返します。

u = symunit;
length = unitConvert(5*u.cm,u.in)
length =
(250/127)*[in]

変換ができない場合、unitConvert は入力を返します。

separateUnits を使用して値を分離し、double を使用して変換することによって、length から浮動小数点数に変換します。または、double の代わりに vpa を使用して単位を維持できます。

double(separateUnits(length))
ans =
    1.9685
vpa(length)
ans =
1.968503937007874015748031496063*[in]

複雑なワークフローについては、単位変換と単位系を参照してください。

2 キログラムを 5 m/s2 に加速するのに必要な力を計算します。結果の単位は自動的にはニュートンになりません。

m = 2*u.kg;
a = 5*u.m/u.s^2;
F = m*a
F =
10*(([kg]*[m])/[s]^2)

unitConvert を使用して、F をニュートンに変換します。

F = unitConvert(F,u.N)
F =
10*[N]

複合単位としてメートル毎秒を指定することによって、5 キロメートル毎時をメートル毎秒に変換します。

u = symunit;
unitConvert(5*u.km/u.hr,u.m/u.s)
ans =
(25/18)*([m]/[s])

第 2 引数に単位のベクトルを指定して、変換に複数の単位を指定します。この構文では、必要な単位を得るためにすべての次元に対して単位を指定できます。

5 キロメートル毎時をセンチメートル毎分に変換します。

u = symunit;
f = 5*u.km/u.hr;
units = [u.cm u.min];
unitConvert(f,units)
ans =
(25000/3)*([cm]/[min])

特定の単位に変換するのではなく、SICGS、または US などの単位系の単位に変換できます。

5 メートルを 'US' 単位系に変換します。unitConvert は結果をフィート単位で返します。

u = symunit;
unitConvert(5*u.m,'US')
ans =
(6250/381)*[ft]

10 ニュートンを入力 'Derived' を使用して、CGS の派生単位に変換します。結果はダイン単位になります。入力 'Derived' なしで変換を繰り返すと、基本単位で結果が得られます。

F = 10*u.N;
cgsDerived = unitConvert(F,'CGS','Derived')
cgsDerived =
1000000*[dyn]
cgsBase = unitConvert(F,'CGS')
cgsBase =
1000000*(([cm]*[g])/[s]^2)

既定値では、温度は差分で表されることを仮定しています。たとえば、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]

入力引数

すべて折りたたむ

入力。シンボリックな数値、変数、式、関数、または配列として指定します。

入力の変換先としての単位。シンボリック単位またはシンボリック単位の配列として指定します。

入力の変換先としての単位系。string または文字ベクトルとして指定します。既定では、使用可能な単位系は SI、CGS および US です。カスタム単位系を定義することもできます。単位変換と単位系を参照してください。

温度の変換モード。'difference' または 'absolute' として指定します。

R2018b で導入