2008年2月11日月曜日

懸垂線を使った、対数の導出について

岩波新書の「数学入門(下)」(遠山 啓・著)に、懸垂線に関する面白い話題が出ています。
その昔、ライプニッツが、懸垂線を対数表の代わりに使ったらどうだろうか、と言ったのだそうです。実際にやってみると、どんな具合になるのか、ということで、やってみました。


ある数 Y の対数 X = ln Y を求めることを考えます。X と Y の関係は次の通りです。

Y = exp X

つぎに懸垂線を考えます。つぎの式で表わされるのでした。

x exp (x/a) + exp (-x/a)
y = a cosh --- = a ------------------------
a 2

ここで、 Y = exp X = exp x/a とおきます。すると、

Y + 1/Y
y = a ---------
2

この式から、Y を「対数を求めたい数値」として、Y から y を計算、さらに得られた y から懸垂線のグラフを使い、x を求めます。

最後は、 X = x/a によって X を求めます。

実例 )

カテナリ数 a = 18.63 の懸垂線を使って、ln 30 を求めましょう。

まず、Y = 30 として、に対応する懸垂線上の値 y を計算します。

30 + 1/30
y = 18.63 * ----------- = 279.7605
2

グラフを使い、これに対応する x を調べます。ここでは、つぎの値を得ました。

x = 63.33846

この作業が、精度に一番影響を与えます。実際に紐を垂らしたり、あるいはグラフ電卓なんかを使うと面白いかも知れません。

最後は、得られた値から対数 X を計算して終了です。

X = 63.33846 / 18.63 = 3.39981

実際の値は ln 30 = 3.40120 ... なので、まあまあの値といえそうです。

2008年2月7日木曜日

双曲線関数の話題

久しぶりの記録です。果たして、どれだけの人が読んでいるのか、などという愚痴はさておき、今回は、はるまき様のblogに影響され、双曲線関数の話題をお送りします。

双曲線関数は、大抵の関数電卓に用意されておりますが、果たして、どれくらいの方が利用しているのでしょうか。当方は、余り利用した事がないので、こんな呑気な事を書いてるのですが、どうも、必要な人にとっては、やはり必要なものであるから、関数電卓のなかでも、重要な位置を占めていると思われます。

HPのサイトには、電卓のチュートリアルがPDFの形で用意されています。その中に、双曲線関数に関するものがあるので、それを見てみましょう。

この中に例題があります。一応、意訳を出しますが、誤訳の可能性もあるので、その事にお気づきの方はお知らせ戴きたく思います。では、行ってみましょうか。

問 1) 山の頂を結ぶケーブルを伝う trum (ケーブルカーの様なものでしょうか) があり、速度は v = 135 m/min、頂の間(径間)は 400 m と言います。
頂におけるケーブルの傾き角が 63 deg の場合、この trum は、頂の間をどのくらいの速度で移動するのでしょうか。

答 1)

まず、ケーブルを伝う trum という事で、この trum が移動するのは「懸垂線」と呼ばれる曲線である、と理想化します。懸垂線は、次の式で表現される式です。

x
y = a cosh ---
a

但し、

S ; 径間 (吊り下げ点の間隔)
D ; たるみ (吊り下げ点と極点の高度差)
L ; 径間の曲線長
a ; カテナリ数
t ; 吊り下げ点での曲線の傾き

この式をいじくり回すと、次の式を得ます。

S tan t
L = ----------------
arc-sinh tan t

この例の場合、S = 437、t= 63°なので、次のような計算になります。

437 tan 63
= ---------------
asinh tan 63

= 601.1129 (m)

よって、掛かる時間は

L / v = 601.1129 / 135 = 4.45269 (min.)


問 2)

径間 S = 40 ft、カテナリ数 a = 18.63 ft の懸垂線で、曲線長はどれほどでしょうか。

これを解くには、次の式を使います。

S
L = 2a sinh ----
2a

40
= 2 * 18.63 * sinh -----------
2 * 18.63

= 48.13830 (ft)



ex. 3) (これはオリジナル)

径間 S = 400 m、曲線長 L = 450 mのカテナリ数は ?

S
L = 2a sinh ----
2a

から、数値解を計算します。HP35S (ようやく出て来ました !)での、Solvreを使った作業例。

1) まず、[EQN]キーを押して、上記の式を入力します。
2) 続いて [SOLVE] [A] と押して、Solverを動かします。
3) "L?" には 480 [R/S]、"S?"には 400 [R/S] と押します。
こうして、

a = 187.8166

を得ました。


追記 on 2008/02/10
kaak様の指摘で、修正しました。

2008年1月12日土曜日

謹賀新年

というには余りに遅くなりました。しかも、今回は電卓ネタではありません。
まだ、余り本調子ではありませんので、情報の追加も出来ませんが、ポチポチ行こうと思います。

最近はBlogの調査をしても、HP35Sのネタが少なく感じますが、ここでは何かしら情報がありましたら取り上げて行く予定です。

今年も宜しくお願い申し上げます。

2007年12月19日水曜日

HP50g : SysRPLで円を描いてみたよ

先日、はるまき様から「HP50gで円を描くのに、もう少し早くならないか」という話題が提供されました。ARCを使うと大変遅いのですが、SysRPLでもARCのROMルーチンを呼び出すだけなので、あまり早くはなりませんでした。

しかし、円弧ではなく、円を描くという目的に絞れば、かなり早くは描けるサービスがありましたので、ここで試してみたという次第です。以下のソースを御覧下さい。
------------

!NO CODE
!RPL

::
GBUFF
60 0 DO
65 40 INDEX@ CircleB
LOOP
DO>LCD
;
@

------------
これは、PICTをスタックに積み、そこへ同心円を描くプログラムです。最後に DO>LCD で画面に表示しようと試みているのですが、この試みは失敗します。一瞬表示されるだけなのです。しかし、PICTに描いているので、実行後にグラフ画面を表示すると、結果が見られます。

実行速度はARCに比してかなり早くなっておりました。もちろん、円を描くだけなので、円弧を描くには使えません。しかし、これを表示しておく方法がわかりません。何か良い方法はないものでしょうか > kaak様 (オイッ、振ってどうする ?!)


追記 on 2014/09/08
最近になって、海外からのアクセスがあり、表題が機械翻訳されると、とんでもない事になっているらしいので、少し改めました。

【以前】HP50g : SysRPLで円を描いて見たよ
【以後】HP50g : SysRPLで円を描いてみたよ

以前のままだと「I saw in a circle in SysRPL」となってしまいます。まあ、言われてみれば、その様で。


2007年12月9日日曜日

HP35Sの日本語PDFマニュアル 第2弾

Julyさん、早速HP35Sの日本語マニュアルの第2弾を公開してくれました。有難い、有難い。早速ダウンロードしましたよ。

最近はHP35Sネタもやっていないのですが、何か良いネタはないものかな。

2007年11月30日金曜日

hp 電卓が買えるお店

Julyさんのblogに、こんな記事がありました。

「hp 電卓が買えるお店」
http://www.july.co.jp/index.php?main_page=wordpress&p=119

これによりますと、以下のお店があるそうです。

有限会社平成オーエーサービス
http://www.tokyo-hos.co.jp/

株式会社ミヤビックス
http://www.miyavix.co.jp/

東映無線株式会社 ラジオデパート店
http://www.toeimusen.co.jp/~dp/

ミヤビックスもJulyさんの代理店なのでしょうか。
秋葉原で買えるようですね。しかし、Julyさんは秋葉原の近くにあったのでは ... ? もう、店頭売りはしないのかな ?

2007年11月20日火曜日

SysRPLを始めようと思っている人のために

SysRPLは、HP50gなどで使えるシステムプログラミング環境です。SysRPLに対して、通常のRPLプログラムは「UserRPL」と呼ばれる事が有ります。
SysRPLは、非常に強力な機能を持っていて、間違ったプログラムを作成、実行してしまうと、電卓のシステムそのものが破壊されてしまう場合がありますが、その分、UserRPLに較べて圧倒的なプログラム実行速度が得られるものです。

筆者もSysRPLを始めてみようと思っている一人ですが、始めるにあたって、必要な環境を調べてみました。基本的には、HP50g本体があれば、プログラムは作成可能のようです。しかし、必要なライブラリなどがあるので、それをwebから入手しておかないとなりません。

まず、SysRPLプログラムの基本情報が書かれている「HP 49g+ & 48gII_Advanced User's Reference Manual」が必要で、HPのサイトからPDFファイルを取り込めます。


HP 49g+ & 48gII_Advanced User's Reference Manual_English_E_F2228-90010.pdf


さらに、SysRPLの入門書「Programming in System RPL」があります。これもHPcalcからPDFファイルが取り込めます。


Programming in System RPL (PDF)



Programming in System RPL (Programs)


そして、初期段階では、次の「extable」というライブラリが必要です。


extable


これだけでSysRPLのプログラミングの基礎は試せる様になりました。しかし、これで十分という訳ではありません。あくまでも、サンプルのコードが実行出来るまでの準備です。SysRPLを極めるには、より多くの情報が必要になると思いますが、それをこの小文で述べるのは難しいことです。

(続きは文書置場にあります。興味のある方はどうぞ)