Units パッケージの詳細
ここでは,Maple の単位変換と環境についての説明をする。このパッケージは,説明にあるような 相違 を除き IEEE 標準 に準拠している。このページには,以下のような項目についての解説をしている。
|
次元と単位および単位系
|
|
基本的でかつ独立な 次元 と呼ばれる測定量 (測度) があります。Maple では、長さ、質量、時間、電流、熱力学的温度、物質の量、光度、情報量、 通貨などを基本次元として使うことができます。
基本次元に対応する 基本単位 を用いて測定量を定量化します。例えば,メートルは基本次元の長さに対応する基本単位です。 複合 または複雑な単位 は、基本単位のべきの積になっています。名前が付けられている複合単位は、補助単位 と呼ばれます。簡略化して用いることができるよう、いくつかの基本次元のべきの積、すなわち、複合次元は、名前が付けられています。 これらの名前付けされた複合単位には、時間の 2 乗あたりの長さを表す力や、時間の 2 乗あたりの質量を表すエネルギーなどがあります。 力の補助単位はニュートンであり、キログラム・メートル毎平方秒として定義されます。エネルギーの補助単位はジュールであり、キログラム・メートル毎平方秒で定義されます。なお、次元量を表にしたものについては、Index を参照してください。
大部分の次元には、多くの対応する単位があります。例えば、長さはメートル、フィート、オングストロームや多くの他の単位で測定することができます。単位は、単位系として組織化することができます。さらにくわしい情報については、単位系 を参照してください。単位によっては、 2 つ以上の単位系に存在したり、異なる次元を測定するのに使いますし。たとえば、オンスと呼ばれる質量の単位が、常衡単位系とトロイ単位系にあり、また、オンスと呼ばれる容積の単位が US と UK 単位系にあります。 Maple では、これらの単位を区別するために,文脈 を付加します。例えば、ounce[avoirdupois] と ounce[troy] は、常衡単位系とトロイ単位系における質量の単位です。
|
|
包括性
|
|
Units パッケージでは、約 300 個の異なる単位名 (たとえば、メートルとグラム) と、さまざまな文脈を持つ 550 個以上の単位 (たとえば、標準マイルと US マイル)を使うことができます。500 個以上の単位が、厳密な変換式を用いて定義されています。例えば、1 International Table Btu は、 52752792631/50000000 ジュールとして定義されています。
SI または IEC プレフィックス(接頭辞)として許容されている単位では、単位名と単位記号がそれらの接頭辞とともに認識されます。 例えば、pm/ms は 1e-9 メートル毎秒になります。
ユーザは、基本次元と単位、複合次元、複合単位、単位系の各集合を拡張することができます。さらに詳しい情報については、 AddBaseUnit, AddDimension, AddUnit, AddSystem を参照してください。
|
|
地域的単位名
|
|
長さの SI 単位は、アメリカでは meter、カナダや西ヨーロッパでは metre、他の地域では別名で呼ばれています。 同様にして、複数形、たとえば、meters と metres が用いられています。
Units パッケージでは、単位に関する多くの共通する綴りの変種 (複数形を含む) を使えるようにしてあり、この集合をユーザが拡張するためのツールを含んでいます。
>
|
convert([m^3, L, gal], conversion_table, output=grid, filter=evalf[4]);
|
| (3.1) |
>
|
Units:-AddUnit(meter, spelling = metre, default):
Units:-AddUnit(liter, spelling = litre, default):
convert([m^3, L, gal], conversion_table, output=columns, filter=evalf[4]);
|
| (3.2) |
単位が、ある国に依存する場合、文脈には、適当な ISO 1866 国名コード (たとえば、US, CA, UK, DE は、それぞれ、アメリカ、カナダ、イギリス、ドイツを表す) が接頭辞として付きます。
|
|
単位表現
|
|
単位は、単位名と文脈により識別されます。単位名は、さまざまな綴りを有しているかもしれないが、文脈は固定されています。 文脈は、同名だが違う値を有する二つの単位を区別するために用います。たとえば、単位 pound[avoirdupois] と pound[troy] は、それぞれ、常衡とトロイという文脈を有する単位 pound を参照しています。
各単位は、変更可能なデフォルトの文脈を有しています。文脈のない単位名は、デフォルト文脈を参照します。単位 meter は、SI メートルを、pound は、常衡ポンドを参照しています。単位のデフォルト文脈を決定するためには、関数 GetUnit(unit) を使用します。
1 個またはそれ以上の単位記号 を、単位名と関連付けることができます。例えば、m と lb は、それぞれ、meter と pound の単位記号です。単位記号は、その単位に任意の文脈を付した場合でも有効です。それに対して、省略形の単位 は、特定の単位とその文脈との対を短縮したものです。例えば、 at は、工業分野における大気圧の単位のみを表します。
いくつかの単位は SI または IEC 接頭辞 を用いて、10 のべき乗倍、または 2 のべき乗倍の単位として表されます。どちらの場合でも、単位記号とは異る接頭辞を単位名に組み合わせます(例えば、centimeter と cm とでは異なる接頭辞が使われています)。記号からなる接頭辞を有する単位名、例えば cmetre や、名称からなる接頭辞を有する単位記号、例えば centim は、使うことができません。
単位は、有理数によるべき乗、または、定数倍 (type/constant 参照)にしたり、または、他の単位をかけることができます。 例えば、cm^(3/2)*g^(3/2)/s は、 CGS 単位系において有効な単位です (CGS 参照)。 しかし、 ft + yd は、加算により 4 フィートにはなるが、有効な長さの単位にはなりません。
|
|
単位環境
|
|
Units パッケージには、デフォルト, 標準, 自然 の 3 個の環境があります。
デフォルト環境では、表現式は単位を有することができません。単位間の変換は、すべての環境で使用可能な convert ルーチンによって実行されます。 さらに詳しい情報については、Units/default を参照してください。
標準 Units 環境では、いくつかの Maple 関数が、単位を有する入力を受け付けるよう修正されています。Unit ルーチンを用い、単位を表現式に含めることができます。さらに詳しい情報については、Units/Standard を参照してください。
自然 Units 環境では、いくつかの Maple 関数が単位を有する入力を受け付けるよう修正されています。
Unit ルーチンまたは自然記法 (*unit_name) を用い、単位を表現式に含めることができます。さらに詳しい情報については、Units/Natural を参照してください。
自然および標準環境における単位計算で利用可能な関数のリストは同じですが、それらの関数は同じでありません。標準環境の関数では、単位の自然記法を使うことができません。
|
|
出力形式
|
|
標準環境 と 自然環境 では、表現式の単位が角括弧内に表示されます。
Warning, the assigned name polar now has a global binding
Warning, these protected names have been redefined and
unprotected: *, +, -, /, <, <=, <>, =, Im, Re, ^, abs,
arccos, arccosh, arccot, arccoth, arccsc, arccsch, arcsec,
arcsech, arcsin, arcsinh, arctan, arctanh, argument, ceil,
collect, combine, conjugate, convert, cos, cosh, cot, coth,
csc, csch, csgn, diff, eval, evalc, evalr, exp, expand,
factor, floor, frac, int, ln, log, log10, max, min, normal,
root, round, sec, sech, shake, signum, simplify, sin, sinh,
sqrt, surd, tan, tanh, trunc, type, verify
| |
>
|
253.0 * x^2 * Unit(m/s);
|
| (6.1) |
もし、結果中のすべての単位名が付随する記号または省略記号を有しているならば、単位名と省略記号を用いた結果が表示されます。そうでなければ、単位名のみのを用いた結果が表示されます。
>
|
253.0 * x^2 * Unit(m/s);
|
| (6.2) |
>
|
convert(%, units, km/fortnight);
|
| (6.3) |
単位の意味が、デフォルト文脈でない場合、出力に表示されます。 例えば、mile は mile のデフォルト文脈である mile[standard] を参照しています。
>
|
spd := 253.0 * x^2 * Unit(m/s);
|
| (6.4) |
>
|
convert(spd, units, mi/h);
|
| (6.5) |
>
|
convert(spd, units, mi[standard]/h);
|
| (6.6) |
>
|
convert(spd, units, mi[US_survey]/h);
|
| (6.7) |
>
|
convert(spd, units, mi/fortnight);
|
| (6.8) |
>
|
convert(spd, units, mi[standard]/fortnight);
|
| (6.9) |
>
|
convert(spd, units, mi[US_survey]/fortnight);
|
| (6.10) |
いくつかの複合単位、例えば radians は、関連説明付きの単位として定義されています。出力を簡略化するためには、可能な場合は何時でも、複合単位が使われます。この場合、付帯説明付きの単位は複合単位に置き換えて出力されます。しかし一般的には、単位の関連説明または修飾子が表示されます。
>
|
43.0 * Unit(feet(radius)/yard);
|
| (6.11) |
>
|
43.0 * Unit(feet/feet(radius));
|
| (6.12) |
>
|
43.0 * Unit(J/m/W(mech)/h(mech)*cm(mech));
|
| (6.13) |
>
|
43.0 * Unit(J(mech)/m(mech)/W(mech)/h(mech)*cm(mech));
|
| (6.14) |
>
|
43.0 * Unit(J(chemical)/m(chemical)/W(mech)/h(mech)*cm(mech));
|
| (6.15) |
|
|
単位、次元、単位系変換
|
|
単位変換操作は、Units パッケージにとって鍵となる重要なものです。関数 convert は、単位間、温度スケール間、単位とその次元間、単位と特定の単位系中にある対応する単位との間の変換を行います。Unit Converter は、ツール (Tools) メニューから立ち上げることができ、簡便な単位変換を可能にします。さらにくわしい情報については、Unit Converter を参照してください。
絶対温度を除き、同じ次元を有する単位間で測定値を変換するためには、関数 convert/units を使用してください。オプション energy により、energy conversions が可能になり、異なる次元を有するエネルギー単位間の変換を行います。関数 convert/units は温度間隔の変換をするだけなので、各温度目盛りの変換をする場合には、関数 convert/temperature を使用してください。
次元、基本か複合か、関連説明を確定するためには、関数 convert/dimensions を使用してください。
関数 convert/system は、ある単位による測定量を、特定の単位系において同じ次元を有する、デフォルト単位を用いて表した測定量に変換します。
|
|
参照
|
|
convert, Units, Units[AddBaseUnit], Units[AddDimension], Units[AddSystem], Units[AddUnit], Units/default, Units/IEEEdiffs, Units/Natural, Units Package References, Units/Overview, Units/Standard
|
|