[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

# 51. ezunits

[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

## 51.1 Introduction to ezunits

`ezunits`は次元量を扱うためのパッケージです。 次元解析のいくつかの関数を含みます。 `ezunits`は 次元量と単位変換に関する算術演算を 実行できます。 組み込み単位は国際単位系(SI)とUS慣習単位系を含み、他の単位が宣言できます。 `physical_constants`、物理定数のコレクション、も参照してください。

`load(ezunits)`はこのパッケージをロードします。 `demo(ezunits)`はいくつかの例を表示します。 便利な関数`known_units`は組み込みとユーザー宣言単位のリストを返し、 そして、 `display_known_unit_conversions`は 可読性の高いフォーマットで既知の変換一式を表示します。

式a ‘ bは、無次元量を示す`a`と次元単位`b`で 次元量を表します。 そのように宣言することなしに、シンボルを単位として使うことができます; 単位シンボルはいかなる特別なプロパティを持つ必要はありません。 式a ‘ bの量と単位は、 それぞれ、`qty`関数と`units`関数で抽出することができます。

シンボルは、指定された量か指定された単位か両方を持つ次元量であると宣言することができます。

式a ‘ b ‘‘ cは 単位`b`から単位`c`に変換します。 `ezunits`は SI基本単位、SI組立単位、いくつかの非SI単位に関する組み込み変換を持っています。 まだ`ezunits`が知らない単位変換は、宣言することができます。 `ezunits`が知っている単位変換は 組み込み変換とユーザー定義の変換から構成される グローバル変数`known_unit_conversions`で指定されます。 単位の積や商、冪に関する変換は知られている単位変換の組から演繹されます。

Maximaは一般的に厳密でない数(浮動小数点数か多倍長浮動小数点数)より 厳密な数(整数か有理数)を好むので、 次元量でそれらが現れた時、`ezunits`は厳密な数を保護します。 組み込み単位変換すべては厳密な数で表現されます; 宣言された変換で厳密でない数は厳密なものに強制的に変換されます。

単位の表示のために優先される系はありません; 入力単位は、変換を明示的に示さない限り、他の単位には変換されません。 `ezunits`は 前置詞m-, k-, M, G-(ミリ-, キロ-, メガ-, ギガ-)を SI基本単位やSI組立単位に適用された際、 認識しますが、 そんな前置詞は明示的な変換で示された時だけ適用されます。

次元量に対する算術演算子は そんな演算子の慣例的な規則で実行されます。

- (x ‘ a) * (y ‘ b) is equal to (x * y) ‘ (a * b).
- (x ‘ a) + (y ‘ a) is equal to (x + y) ‘ a.
- (x ‘ a)^y is equal to x^y ‘ a^y when `y` is nondimensional.

`ezunits`は 和の中の単位が同じ次元を持つことを要求しません; そんな項は足さられず、エラーは報告されません。

`ezunits`は初等的な次元解析関数を含みます。 すなわち、次元量の基本的な次元と基本的な単位、無次元量と自然単位系の計算です。 次元解析の関数は Barton Willisが書いた別のパッケージの類似の関数から焼き直されました。

次元解析のために、 基本的な次元のリストと基本的な単位の連想リストは保持されます; デフォルトでは、 基本的な次元は、長さ、質量、時刻、電荷、温度、量であり、 基本的な単位は関連したSI単位で、 他の基本的な次元や単位を宣言できます。

·

Categories: Physical units ·Share packages ·Package ezunits

[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

## 51.2 Introduction to physical_constants

`physical_constants`は物理定数のコレクションです。 CODATA 2006 推奨値からコピーしました。[1] `load(physical_constants)`はこのパッケージをロードし、 まだロードされていないなら、`ezunits`もロードします。

物理定数は定数値のプロパティを持つシンボルとして表されます。 定数値は、`ezunits`が表すように次元量です。 関数`constvalue`は定数値を取りに行きます; 定数値はシンボルの普通の値ではなく、 `constvalue`が値を取りに行くまで、 物理定数のシンボルは評価される式の中でシンボルのままです。

`physical_constants`はある補助情報、 すなわち、それぞれの定数の記述文字列、 数値の誤差の見積もり、TeX表示のためのプロパティを含みます。 物理定数を識別するために、それぞれのシンボルは `physical_constant`性質を持ちます; それ故に、`propvars(physical_constant)`はそんなシンボルすべてのリストを 表示します。

`physical_constants`以下の定数を含みます。

`%c`

  真空中の光速度

`%mu_0`

  真空の透磁率

`%e_0`

  真空の誘電率

`%Z_0`

  真空の特性インピーダンス

`%G`

  Newtonの重力定数

`%h`

  Planck定数

`%h_bar`

  Planck定数

`%m_P`

  Planck質量

`%T_P`

  Planck温度

`%l_P`

  Planck長

`%t_P`

  Planck時間

`%%e`

  電気素量

`%Phi_0`

  磁束量子

`%G_0`

  コンダクタンス量子

`%K_J`

  Josephson定数

`%R_K`

  von Klitzing定数

`%mu_B`

  Bohr磁子

`%mu_N`

  核磁子

`%alpha`

  微細構造定数

`%R_inf`

  Rydberg定数

`%a_0`

  Bohr半径

`%E_h`

  Hartreeエネルギー

`%ratio_h_me`

  循環量子

`%m_e`

  電子質量

`%N_A`

  Avogadro数

`%m_u`

  原子質量定数

`%F`

  Faraday定数

`%R`

  気体定数

`%%k`

  Boltzmann定数

`%V_m`

  理想気体のモル体積

`%n_0`

  Loschmidt定数

`%ratio_S0_R`

  Sackur-Tetrode定数 (絶対エントロピー定数)

`%sigma`

  Stefan-Boltzmann定数

`%c_1`

  第一放射定数

`%c_1L`

  スペクトル放射強度の第一放射定数

`%c_2`

  第二放射定数

`%b`

  Wien変位則定数

`%b_prime`

  Wien変位則定数

参考文献:

[1] http://physics.nist.gov/constants

例:

`physical_constant` プロパティを持つすべてのシンボルのリスト。

    (%i1) load (physical_constants)$
    (%i2) propvars (physical_constant);
    (%o2) [%c, %mu_0, %e_0, %Z_0, %G, %h, %h_bar, %m_P, %T_P, %l_P,
    %t_P, %%e, %Phi_0, %G_0, %K_J, %R_K, %mu_B, %mu_N, %alpha,
    %R_inf, %a_0, %E_h, %ratio_h_me, %m_e, %N_A, %m_u, %F, %R, %%k,
    %V_m, %n_0, %ratio_S0_R, %sigma, %c_1, %c_1L, %c_2, %b, %b_prime]

物理定数`%c`のプロパティ。

    (%i1) load (physical_constants)$
    (%i2) constantp (%c);
    (%o2)                         true
    (%i3) get (%c, description);
    (%o3)               speed of light in vacuum
    (%i4) constvalue (%c);
                                          m
    (%o4)                     299792458 ` -
                                          s
    (%i5) get (%c, RSU);
    (%o5)                           0
    (%i6) tex (%c);
    $$c$$
    (%o6)                         false

1ポンドの質量に等価なエネルギー。 シンボル `%c`は、 `constvalue`が値を取りにいくまでシンボルのままです。

    (%i1) load (physical_constants)$
    (%i2) m * %c^2;
                                    2
    (%o2)                         %c  m
    (%i3) %, m = 1 ` lbm;
                                  2
    (%o3)                       %c  ` lbm
    (%i4) constvalue (%);
                                                2
                                           lbm m
    (%o4)              89875517873681764 ` ------
                                              2
                                             s
    (%i5) E : % `` J;
    Computing conversions to base units; may take a moment.
                         366838848464007200
    (%o5)                ------------------ ` J
                                 9
    (%i6) E `` GJ;
                          458548560580009
    (%o6)                 --------------- ` GJ
                             11250000
    (%i7) float (%);
    (%o7)              4.0759872051556356e+7 ` GJ

·

Categories: Physical units ·Share packages ·Package physical_constants

[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

## 51.3 Functions and Variables for ezunits

演算子: `

  次元量演算子。 式 a ‘ bは次元量を表します。 `a`は無次元量を表し、`b`は次元単位を表します。 シンボルは、宣言せずに単位として使うことができます; 単位シンボルは特別なプロパティを持つ必要はありません。 式 a ‘ bの量と単位はそれぞれ、 `qty`と `units`関数で抽出することができます。

  次元量の算術演算子は演算子の慣例規則に従って実行されます。

  - (x ‘ a) * (y ‘ b)は (x * y) ‘ (a * b)に等しい。
  - (x ‘ a) + (y ‘ a)は (x + y) ‘ aに等しい。
  - (x ‘ a)^yは `y`が無次元の時 x^y ‘ a^yに等しい。

  `ezunits`は和の中の単位が同じ次元であることを要求しません; そんな項は一緒には足されませんし、エラーは報告されません。

  `load(ezunits)`はこの演算子をイネーブルにします。

  例:

  SI (国際単位系) 単位。

      (%i1) load (ezunits)$
      (%i2) foo : 10 ` m;
      (%o2)                        10 ` m
      (%i3) qty (foo);
      (%o3)                          10
      (%i4) units (foo);
      (%o4)                           m
      (%i5) dimensions (foo);
      (%o5)                        length

  "慣習"単位。

      (%i1) load (ezunits)$
      (%i2) bar : x ` acre;
      (%o2)                       x ` acre
      (%i3) dimensions (bar);
                                         2
      (%o3)                        length
      (%i4) fundamental_units (bar);
                                      2
      (%o4)                          m

  アドホック単位。

      (%i1) load (ezunits)$
      (%i2) baz : 3 ` sheep + 8 ` goat + 1 ` horse;
      (%o2)           8 ` goat + 3 ` sheep + 1 ` horse
      (%i3) subst ([sheep = 3*goat, horse = 10*goat], baz);
      (%o3)                       27 ` goat
      (%i4) baz2 : 1000`gallon/fortnight;
                                      gallon
      (%o4)                   1000 ` ---------
                                     fortnight
      (%i5) subst (fortnight = 14*day, baz2);
                                500   gallon
      (%o5)                     --- ` ------
                                 7     day

  次元量の算術演算子

      (%i1) load (ezunits)$
      (%i2) 100 ` kg + 200 ` kg;
      (%o2)                       300 ` kg
      (%i3) 100 ` m^3 - 100 ` m^3;
                                        3
      (%o3)                        0 ` m
      (%i4) (10 ` kg) * (17 ` m/s^2);
                                       kg m
      (%o4)                      170 ` ----
                                         2
                                        s
      (%i5) (x ` m) / (y ` s);
                                    x   m
      (%o5)                         - ` -
                                    y   s
      (%i6) (a ` m)^2;
                                    2    2
      (%o6)                        a  ` m

  ·

  Categories: Package ezunits

演算子: ``

  単位変換演算子。 式 a ‘ b ‘‘ cは単位 `b`を単位 `c`に変換します。 `ezunits`にはSI基本単位、SI組立単位、いくつかの非SI単位のための 組み込み変換があります。 `ezunits`がまだ知らない単位変換は宣言することができます。 `ezunits`が知っている単位変換はグローバル変数 `known_unit_conversions`に 明記されます。それは、組み込みとユーザー定義の変換を含みます。 単位の積、商、べきの変換は既知の単位変換一式から演繹されます。

  単位の表示のためにより好まれる系はありません; 変換が明示的に示されない限り、 入力単位は他の単位に変換されません。 `ezunits`は、 変換が明示的に示されない限り、 前置詞(milli-, centi-, deci-, etc)で単位を整理しようとしません。

  `load(ezunits)`はこの演算子を有効にします。

  例:

  既知の単位変換一式。

      (%i1) load (ezunits)$
      (%i2) display2d : false$
      (%i3) known_unit_conversions;
      (%o3) {acre = 4840*yard^2,Btu = 1055*J,cfm = feet^3/minute,
             cm = m/100,day = 86400*s,feet = 381*m/1250,ft = feet,
             g = kg/1000,gallon = 757*l/200,GHz = 1000000000*Hz,
             GOhm = 1000000000*Ohm,GPa = 1000000000*Pa,
             GWb = 1000000000*Wb,Gg = 1000000*kg,Gm = 1000000000*m,
             Gmol = 1000000*mol,Gs = 1000000000*s,ha = hectare,
             hectare = 100*m^2,hour = 3600*s,Hz = 1/s,inch = feet/12,
             km = 1000*m,kmol = 1000*mol,ks = 1000*s,l = liter,
             lbf = pound_force,lbm = pound_mass,liter = m^3/1000,
             metric_ton = Mg,mg = kg/1000000,MHz = 1000000*Hz,
             microgram = kg/1000000000,micrometer = m/1000000,
             micron = micrometer,microsecond = s/1000000,
             mile = 5280*feet,minute = 60*s,mm = m/1000,
             mmol = mol/1000,month = 2629800*s,MOhm = 1000000*Ohm,
             MPa = 1000000*Pa,ms = s/1000,MWb = 1000000*Wb,
             Mg = 1000*kg,Mm = 1000000*m,Mmol = 1000000000*mol,
             Ms = 1000000*s,ns = s/1000000000,ounce = pound_mass/16,
             oz = ounce,Ohm = s*J/C^2,
             pound_force = 32*ft*pound_mass/s^2,
             pound_mass = 200*kg/441,psi = pound_force/inch^2,
             Pa = N/m^2,week = 604800*s,Wb = J/A,yard = 3*feet,
             year = 31557600*s,C = s*A,F = C^2/J,GA = 1000000000*A,
             GC = 1000000000*C,GF = 1000000000*F,GH = 1000000000*H,
             GJ = 1000000000*J,GK = 1000000000*K,GN = 1000000000*N,
             GS = 1000000000*S,GT = 1000000000*T,GV = 1000000000*V,
             GW = 1000000000*W,H = J/A^2,J = m*N,kA = 1000*A,
             kC = 1000*C,kF = 1000*F,kH = 1000*H,kHz = 1000*Hz,
             kJ = 1000*J,kK = 1000*K,kN = 1000*N,kOhm = 1000*Ohm,
             kPa = 1000*Pa,kS = 1000*S,kT = 1000*T,kV = 1000*V,
             kW = 1000*W,kWb = 1000*Wb,mA = A/1000,mC = C/1000,
             mF = F/1000,mH = H/1000,mHz = Hz/1000,mJ = J/1000,
             mK = K/1000,mN = N/1000,mOhm = Ohm/1000,mPa = Pa/1000,
             mS = S/1000,mT = T/1000,mV = V/1000,mW = W/1000,
             mWb = Wb/1000,MA = 1000000*A,MC = 1000000*C,
             MF = 1000000*F,MH = 1000000*H,MJ = 1000000*J,
             MK = 1000000*K,MN = 1000000*N,MS = 1000000*S,
             MT = 1000000*T,MV = 1000000*V,MW = 1000000*W,
             N = kg*m/s^2,R = 5*K/9,S = 1/Ohm,T = J/(m^2*A),V = J/C,
             W = J/s}

  基本単位変換。

      (%i1) load (ezunits)$
      (%i2) 1 ` ft `` m;
      Computing conversions to base units; may take a moment.
                                  381
      (%o2)                       ---- ` m
                                  1250
      (%i3) %, numer;
      (%o3)                      0.3048 ` m
      (%i4) 1 ` kg `` lbm;
                                  441
      (%o4)                       --- ` lbm
                                  200
      (%i5) %, numer;
      (%o5)                      2.205 ` lbm
      (%i6) 1 ` W `` Btu/hour;
                                 720   Btu
      (%o6)                      --- ` ----
                                 211   hour
      (%i7) %, numer;
                                              Btu
      (%o7)               3.412322274881517 ` ----
                                              hour
      (%i8) 100 ` degC `` degF;
      (%o8)                      212 ` degF
      (%i9) -40 ` degF `` degC;
      (%o9)                     (- 40) ` degC
      (%i10) 1 ` acre*ft `` m^3;
                              60228605349    3
      (%o10)                  ----------- ` m
                               48828125
      (%i11) %, numer;
                                                3
      (%o11)                1233.48183754752 ` m

  フィートとメートルを相互に強制変換。

      (%i1) load (ezunits)$
      (%i2) 100 ` m + 100 ` ft;
      (%o2)                  100 ` m + 100 ` ft
      (%i3) (100 ` m + 100 ` ft) `` ft;
      Computing conversions to base units; may take a moment.
                                 163100
      (%o3)                      ------ ` ft
                                  381
      (%i4) %, numer;
      (%o4)                428.0839895013123 ` ft
      (%i5) (100 ` m + 100 ` ft) `` m;
                                  3262
      (%o5)                       ---- ` m
                                   25
      (%i6) %, numer;
      (%o6)                      130.48 ` m

  基本次元と基本単位を見つけるための次元解析

      (%i1) load (ezunits)$
      (%i2) foo : 1 ` acre * ft;
      (%o2)                      1 ` acre ft
      (%i3) dimensions (foo);
                                         3
      (%o3)                        length
      (%i4) fundamental_units (foo);
                                      3
      (%o4)                          m
      (%i5) foo `` m^3;
      Computing conversions to base units; may take a moment.
                              60228605349    3
      (%o5)                   ----------- ` m
                               48828125
      (%i6) %, numer;
                                                3
      (%o6)                 1233.48183754752 ` m

  宣言された単位変換。

      (%i1) load (ezunits)$
      (%i2) declare_unit_conversion (MMBtu = 10^6*Btu, kW = 1000*W);
      (%o2)                         done
      (%i3) declare_unit_conversion (kWh = kW*hour, MWh = 1000*kWh,
                                     bell = 1800*s);
      (%o3)                         done
      (%i4) 1 ` kW*s `` MWh;
      Computing conversions to base units; may take a moment.
                                   1
      (%o4)                     ------- ` MWh
                                3600000
      (%i5) 1 ` kW/m^2 `` MMBtu/bell/ft^2;
                             1306449      MMBtu
      (%o5)                 ---------- ` --------
                            8242187500          2
                                         bell ft

  ·

  Categories: Package ezunits

関数: constvalue (x)
関数: declare_constvalue (a, x)
関数: remove_constvalue (a)

  シンボルの宣言された定数や、 シンボルに宣言された定数を代入した式の値をを返します。

  定数は`declare_constvalue`で宣言されます。 `constvalue`が認識する定数は `numerval`で宣言された値や`constantp`が認識する値と区別されることに 注意してください。

  `physical_units`パッケージはたくさんの物理定数の定数値を宣言します。

  `remove_constvalue`は `declare_constvalue`の効果を戻します。

  `load(ezunits)`はこれらの関数をロードします。

  例:

  物理定数の定数値。

      (%i1) load (physical_constants)$
      (%i2) constvalue (%G);
                                           3
                                          m
      (%o2)                    6.67428 ` -----
                                             2
                                         kg s
      (%i3) get ('%G, 'description);
      (%o3)           Newtonian constant of gravitation

  新しい定数の宣言。

      (%i1) load (ezunits)$
      (%i2) declare_constvalue (FOO, 100 ` lbm / acre);
                                       lbm
      (%o2)                      100 ` ----
                                       acre
      (%i3) FOO * (50 ` acre);
      (%o3)                     50 FOO ` acre
      (%i4) constvalue (%);
      (%o4)                      5000 ` lbm

  ·

  Categories: Package ezunits

関数: units (x)
関数: declare_units (a, u)

  次元量xの単位を返します。 もしxが無次元なら、1を返します。

  xは、文字通り次元式 a ‘ bかもしれませんし、 `declare_units`を介して宣言された単位を持つシンボルかもしれませんし、 それらの一方または両方を含む式かもしれません。

  `declare_units`は、 `units(a)`は式uを返さなければいけないことを宣言します。

  `load(ezunits)`はこれらの関数をロードします。

  例:

  文字通り次元式へ適用された`units`。

      (%i1) load (ezunits)$
      (%i2) foo : 100 ` kg;
      (%o2)                       100 ` kg
      (%i3) bar : x ` m/s;
                                        m
      (%o3)                         x ` -
                                        s
      (%i4) units (foo);
      (%o4)                          kg
      (%i5) units (bar);
                                      m
      (%o5)                           -
                                      s
      (%i6) units (foo * bar);
                                    kg m
      (%o6)                         ----
                                     s
      (%i7) units (foo / bar);
                                    kg s
      (%o7)                         ----
                                     m
      (%i8) units (foo^2);
                                       2
      (%o8)                          kg

  宣言された単位を持つシンボルに適用された`units`。

      (%i1) load (ezunits)$
      (%i2) units (aa);
      (%o2)                           1
      (%i3) declare_units (aa, J);
      (%o3)                           J
      (%i4) units (aa);
      (%o4)                           J
      (%i5) units (aa^2);
                                      2
      (%o5)                          J
      (%i6) foo : 100 ` kg;
      (%o6)                       100 ` kg
      (%i7) units (aa * foo);
      (%o7)                         kg J

  ·

  Categories: Package ezunits

関数: qty (x)
関数: declare_qty (a, x)

  `qty`は次元量xの無次元パーツを返します。 もし xが無次元なら、xを返します。 xは文字通り次元式 a ‘ bかも知れませんし、 宣言された量のシンボルかもしれませんし、 それらの一方または両方を含む式かもしれません。

  `declare_qty`は、 `qty(a)`は無次元量xを返さなければいけないことを宣言します。

  `load(ezunits)`はこれらの関数をロードします。

  例:

  文字通り次元式に適用された`qty`。

      (%i1) load (ezunits)$
      (%i2) foo : 100 ` kg;
      (%o2)                       100 ` kg
      (%i3) qty (foo);
      (%o3)                          100
      (%i4) bar : v ` m/s;
                                        m
      (%o4)                         v ` -
                                        s
      (%i5) foo * bar;
                                        kg m
      (%o5)                     100 v ` ----
                                         s
      (%i6) qty (foo * bar);
      (%o6)                         100 v

  宣言された量のシンボルへ適用された`qty`。

      (%i1) load (ezunits)$
      (%i2) declare_qty (aa, xx);
      (%o2)                          xx
      (%i3) qty (aa);
      (%o3)                          xx
      (%i4) qty (aa^2);
                                       2
      (%o4)                          xx
      (%i5) foo : 100 ` kg;
      (%o5)                       100 ` kg
      (%i6) qty (aa * foo);
      (%o6)                        100 xx

  ·

  Categories: Package ezunits

関数: unitp (x)

  もしxが文字通り次元式か、 次元的と宣言されたシンボルか、 主演算子が次元的宣言された式なら、 `true`を返します。 それ以外なら、`unitp`は `false`を返します。

  `load(ezunits)`はこの関数を返します。

  例:

  文字通り次元式へ適用された`unitp`。

      (%i1) load (ezunits)$
      (%i2) unitp (100 ` kg);
      (%o2)                         true

  次元的と宣言されたシンボルへ適用された`unitp`。

      (%i1) load (ezunits)$
      (%i2) unitp (foo);
      (%o2)                         false
      (%i3) declare (foo, dimensional);
      (%o3)                         done
      (%i4) unitp (foo);
      (%o4)                         true

  主演算子が次元的と宣言された式に適用された`unitp`。

      (%i1) load (ezunits)$
      (%i2) unitp (bar (x, y, z));
      (%o2)                         false
      (%i3) declare (bar, dimensional);
      (%o3)                         done
      (%i4) unitp (bar (x, y, z));
      (%o4)                         true

  ·

  Categories: Package ezunits

関数: declare_unit_conversion (u = v, ...)

  式 u = v, ... を 単位変換演算子 ‘‘が知っている単位変換のリストに追加します。 uと vはともにその中のいかなる変数も単位である乗法の項か、 文字通り次元式です。

  現在、 それぞれの式の左辺が(乗法式でなく)ただの単位か、 1に等しい量とただの単位である単位の文字通り次元式であるような 変換を表現する必要があります。 この限定は将来のバージョンで緩和されるかもしれません。

  `known_unit_conversions`は既知の単位変換のリストです。

  `load(ezunits)`はこの関数をロードします。

  例:

  乗法項の等式で表現された単位変換。

      (%i1) load (ezunits)$
      (%i2) declare_unit_conversion (nautical_mile = 1852 * m,
                                     fortnight = 14 * day);
      (%o2)                         done
      (%i3) 100 ` nautical_mile / fortnight `` m/s;
      Computing conversions to base units; may take a moment.
                                  463    m
      (%o3)                       ---- ` -
                                  3024   s

  文字通り次元式の等式で表現された単位変換。

      (%i1) load (ezunits)$
      (%i2) declare_unit_conversion (1 ` fluid_ounce = 2 ` tablespoon);
      (%o2)                         done
      (%i3) declare_unit_conversion (1 ` tablespoon = 3 ` teaspoon);
      (%o3)                         done
      (%i4) 15 ` fluid_ounce `` teaspoon;
      Computing conversions to base units; may take a moment.
      (%o4)                     90 ` teaspoon

  ·

  Categories: Package ezunits

関数: declare_dimensions (a_1, d_1, ..., a_n, d_n)
関数: remove_dimensions (a_1, ..., a_n)

  `declare_dimensions`は a_1, ..., a_nを それぞれ、次元d_1, ..., d_nを持つと 宣言します。

  a_kそれぞれはシンボルかシンボルのリストです。 もしリストなら、a_k内のすべてのシンボルは 次元 d_kを持つように宣言されます。

  `remove_dimensions`は `declare_dimensions`の効果を戻します。

  `load(ezunits)`はこれらの関数をロードします。

  例:

      (%i1) load (ezunits) $
      (%i2) declare_dimensions ([x, y, z], length, [t, u], time);
      (%o2)                         done
      (%i3) dimensions (y^2/u);
                                         2
                                   length
      (%o3)                        -------
                                    time
      (%i4) fundamental_units (y^2/u);
      0 errors, 0 warnings
                                      2
                                     m
      (%o4)                          --
                                     s

  ·

  Categories: Package ezunits

関数: declare_fundamental_dimensions (d_1, d_2, d_3, ...)
関数: remove_fundamental_dimensions (d_1, d_2, d_3, ...)
グローバル変数: fundamental_dimensions

  `declare_fundamental_dimensions`は基本次元を宣言します。 シンボル d_1, d_2, d_3, ... は、 もしそれらがまだリストの中にないなら、基本次元のリストに追加されます。

  `remove_fundamental_dimensions`は `declare_fundamental_dimensions`の効果を戻します。

  `fundamental_dimensions`は基本次元のリストです。 デフォルトでは、リストはいくつかの物理次元から成ります。

  `load(ezunits)`はこれらの関数をロードします。

  例:

      (%i1) load (ezunits) $
      (%i2) fundamental_dimensions;
      (%o2) [length, mass, time, current, temperature, quantity]
      (%i3) declare_fundamental_dimensions (money, cattle, happiness);
      (%o3)                         done
      (%i4) fundamental_dimensions;
      (%o4) [length, mass, time, current, temperature, quantity,
                                              money, cattle, happiness]
      (%i5) remove_fundamental_dimensions (cattle, happiness);
      (%o5)                         done
      (%i6) fundamental_dimensions;
      (%o6) [length, mass, time, current, temperature, quantity, money]

  ·

  Categories: Package ezunits

関数: declare_fundamental_units (u_1, d_1, ..., u_n, d_n)
関数: remove_fundamental_units (u_1, ..., u_n)

  `declare_fundamental_units`は u_1, ..., u_nを それぞれ、次元d_1, ..., d_nを持つように宣言します。 引数すべてはシンボルでなければいけません。

  `declare_fundamental_units`をコールした後、 `dimensions(u_k)`は 引数u_1, ..., u_nそれぞれに対して d_kを返し、 `fundamental_units(d_k)`は 引数d_1, ..., d_nそれぞれに対して u_kを返します。

  `remove_fundamental_units`は `declare_fundamental_units`の効果を戻します。

  `load(ezunits)`はこれらの関数をロードします。

  例:

      (%i1) load (ezunits) $
      (%i2) declare_fundamental_dimensions (money, cattle, happiness);
      (%o2)                         done
      (%i3) declare_fundamental_units (dollar, money, goat, cattle, smile, happiness);
      (%o3)                 [dollar, goat, smile]
      (%i4) dimensions (100 ` dollar/goat/km^2);
                                   money
      (%o4)                    --------------
                                            2
                               cattle length
      (%i5) dimensions (x ` smile/kg);
                                  happiness
      (%o5)                       ---------
                                    mass
      (%i6) fundamental_units (money*cattle/happiness);
      0 errors, 0 warnings
                                 dollar goat
      (%o6)                      -----------
                                    smile

  ·

  Categories: Package ezunits

関数: dimensions (x)
関数: dimensions_as_list (x)

  `dimensions`は 基礎次元の積と冪で構成された式として 次元量xの次元を返します。

  `dimensions_as_list`は それぞれの要素がxの次元に関して対応する基礎次元の冪を示す整数であるようなリストとして次元量xの次元を返します。

  `load(ezunits)`はこれらの関数をロードします。

  例:

      (%i1) load (ezunits)$
      (%i2) dimensions (1000 ` kg*m^2/s^3);
                                      2
                                length  mass
      (%o2)                     ------------
                                       3
                                   time
      (%i3) declare_units (foo, acre*ft/hour);
                                   acre ft
      (%o3)                        -------
                                    hour
      (%i4) dimensions (foo);
                                         3
                                   length
      (%o4)                        -------
                                    time

      (%i1) load (ezunits)$
      (%i2) fundamental_dimensions;
      (%o2)  [length, mass, time, charge, temperature, quantity]
      (%i3) dimensions_as_list (1000 ` kg*m^2/s^3);
      (%o3)                 [2, 1, - 3, 0, 0, 0]
      (%i4) declare_units (foo, acre*ft/hour);
                                   acre ft
      (%o4)                        -------
                                    hour
      (%i5) dimensions_as_list (foo);
      (%o5)                 [3, 0, - 1, 0, 0, 0]

  ·

  Categories: Package ezunits

関数: fundamental_units (x)
関数: fundamental_units ()

  `fundamental_units(x)`は `dimensions(x)`が決定するように xの基本次元に関連付けられた 単位を返します。

  xは文字通り次元式a ‘ bか、 `declare_units`を介して宣言された単位を持つシンボルか それらのいずれかもしくは両方を含む式かもしれません。

  `fundamental_units()`は `declare_fundamental_units`が宣言するように、 既知の基本単位すべてのリストを返します。

  `load(ezunits)`はこの関数をロードします。

  例:

      (%i1) load (ezunits)$
      (%i2) fundamental_units ();
      (%o2)                 [m, kg, s, A, K, mol]
      (%i3) fundamental_units (100 ` mile/hour);
                                      m
      (%o3)                           -
                                      s
      (%i4) declare_units (aa, g/foot^2);
                                      g
      (%o4)                         -----
                                        2
                                    foot
      (%i5) fundamental_units (aa);
                                     kg
      (%o5)                          --
                                      2
                                     m

  ·

  Categories: Package ezunits

関数: dimensionless (L)

  次元量のリストLから形成できる 無次元量の基底を返します。

  `load(ezunits)`はこの関数をロードします。

  例:

      (%i1) load (ezunits) $
      (%i2) dimensionless ([x ` m, y ` m/s, z ` s]);
      0 errors, 0 warnings
      0 errors, 0 warnings
                                     y z
      (%o2)                         [---]
                                      x

  Dimensionless quantities derived from fundamental physical quantities. Note that the first element on the list is proportional to the fine-structure constant.

      (%i1) load (ezunits) $
      (%i2) load (physical_constants) $
      (%i3) dimensionless([%h_bar, %m_e, %m_P, %%e, %c, %e_0]);
      0 errors, 0 warnings
      0 errors, 0 warnings
                                    2
                                 %%e        %m_e
      (%o3)                [--------------, ----]
                            %c %e_0 %h_bar  %m_P

  ·

  Categories: Package ezunits

関数: natural_unit (expr, [v_1, ..., v_n])

  `dimension(expr) = dimension(v_1^e_1 ... v_n^e_n)`であるような 指数e_1, ..., e_nを見つけます。

  `load(ezunits)`はこの関数をロードします。

  例:

  ·

  Categories: Package ezunits

[ << ] | [ >> ] |  |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

この文書は市川 雄二によって2012年1月月5日にtexi2html 1.82を用いて生成されました。