逆数 | rpn入門(初級編) [講座] | 逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓rpnの実践ウェブ   
rpn hacks! アールピーエヌ・ハックスサイトマップ

rpn | 講座 | rpn入門 | rpnの使い方を基本から応用まできちんと学習。

HOME > 講座 > rpn入門 > 初級編 > 逆数 hatena yahoo buzzurl livedoor del.icio.us nifty newsing twitter facebook rss ソーシャルブックマーク

逆数

シーソーのような逆数の関係

 英語で逆数のことを「reciprocal」といいます。意味は相互、相補、逆比、反比なのです、要は片方が増えれば片方は減るような事象の説明に適しています。一応、逆数の正確な定義を記すと、「a * b = 1である時、bはaの逆数でaはbの逆数。ただし、0の逆数はない」になります。何だか難しいですが、数式で示すと少し分かりやすくなります。

       1                  1
  a * --- = 1  ⇒  b = ---
       a                  a

       -1                 -1
  a * a   = 1  ⇒  b = a


上は分数、下は冪乗の形式で表現してあります。aの逆数bは1/aに等しく、aの-1乗に等しいということですね。例として、3の逆数をrpnで示すと以下のように表現できます。

  >rpn 1 3 /
  0.333333
  >rpn 3 -1 p
  0.333333


rpnの計算に慣れてしまえば、大したことはありませんね。

逆数が大活躍の自然界

 さて、自然界には逆数の関係が結構な割合で出現します。例えば、電気の公式で「E=IR」があります。Eは電圧、Iは電流、Rは抵抗のことです。電圧は電流に抵抗値を乗じたものに等しいという式ですが、この抵抗は直列に繋いだ場合と並列に繋いだ場合では値が異なります。

実際、直列の場合の抵抗値計算は足すだけの簡単なものですが、並列の場合は逆数を使った式になります。Ra、Rbをそれぞれ抵抗(単位はΩ(オーム))と考えると以下の数式で表せます。

直列の場合

  ---Ra--Rb---   合成抵抗値は、R = Ra + Rb


並列の場合

    +--Ra--+                              1
    |      |     合成抵抗値は、R = --------------
  --+      +--                        1       1
    |      |                         ---- + ----
    +--Rb--+                          Ra      Rb


ここで、Raを2Ω、Rbを3Ωとすると、直列繋ぎの場合は、

  >rpn 2 3 +
  5


で、5Ωとなります。足し算だけなので簡単です。それに対して、並列繋ぎの場合はちょっと複雑で、逆ポーランド記法で書くと以下のようになります。

  >rpn 1 1 2 / 1 3 / + /
  1.2


答えは1.2Ωになります。込み入った逆ポーランド式ですが、抵抗は並列に繋げると小さくなるということが分かります。別の見方をすると、同じ電流を流しても抵抗を並列に繋げるほど電圧は高くなるということになりますね。

このように、科学技術の計算では意外と、逆数を使った計算が多いものです。電気抵抗の並列繋ぎもそうですが、逆数が分数の形になるため「1」と「/」がたくさん出てきて分かりづらく、書き間違いも多くなります。

rpnで逆数を簡単に求める方法

 そこで、rpnは逆数を求めるための演算記号「n」を用意しています。このnを使うと分かりやすく式が書けます。例えば、上記の並列繋ぎの抵抗値計算をnを使って書き換えると以下のようになります。

  >rpn 2 n 3 n + n
  1.2


前の式に比べてとてもすっきりしていることがわかると思います。それに、日本語で言い換えると「2の逆数と3の逆数を足して、その値の逆数をとる」となりますね。逆ポーランド記法の方が、頭にすんなりと入ってはこないでしょうか。

『今回の問題』………………………………………………………………………
  以下を逆ポーランド記法式に変換せよ(逆数を使用のこと)。
  (1)  1から3までの逆数を全て加える式。
  (2)  サイコロを二つ投げて、二つとも1の目が出る確率を求める式。
  (3)  280人から13分の1の人を選び出し、端数を六捨七入する式。
…………………………………………………………………………………………

答えはこちらLinkIcon

警告文字で作られた図表や式が崩れることがあります。ブラウザによっては固定幅フォントをMSゴシックにするときれいに表示されます。それでも崩れる場合は図表や式をメモ帳にコピー後、閲覧下さい。

警告rpn試用版と標準版(2kリビジョン)はダブルクォートで囲ってください。

rpn 1 2 + ⇒ rpn "1 2 +"
rpn 1 -c foo ⇒ rpn "1" -c "foo"

ダブルクォートは省略できることが多いのですが、慣れない間は囲んだほうが無難です。なお、本ウェブサイトの記事ではrpn標準版(98リビジョン)を使用しているため囲っていません。詳しくは技術サポートの「rpn TIPS参照ください。

注意rpnの障害情報はこちら

警告rpn試用版の場合、複雑なプログラムや処理時間のかかるプログラムの一部には動作しないものがあるかもしれません。あくまで無料提供であることを勘案・了承ください。rpn標準版は、すべてのプログラムが動作します。