2009年7月27日月曜日

電卓雑感

「HP電卓@wiki」さんの HP15C とかの項目を見ると出ておりますが、最近、HPがiPhone向けのHP12C/15Cシミュレータを販売したそうです。
しかしねぇ。当方、iPhone持っていないし。そもそも、キーがないでしょ ? やはり、フィジカルなもので欲しいでんな。
で、気になるのが、現在販売している12Cと一緒になぜ、15Cが出たのかという所です。もしかして、15Cも実機が出てくるのかな(プレミアム・バージョン) ?
15Cが出るならば、ついでに16Cや11Cが出るといいかな、などと考えるのですが、一方で、最近は35Sで簡単な計算は済ませているし、少しパワーのある仕事には50gと、それなりに使い分けでして、そうなると、15Cが出ても買うかな、などと後ろ向き。昔は15Cで延々と時間を掛けて色々と計算したものですが。昔の記憶で欲しているだけ、となると、これは結構悲しいので、それならばいっその事、ぶっ飛んだ性能の最高級関数電卓みたいなのが出たら面白かろうね。
例えば、VGAくらいの液晶でも付けて、タッチスクリーンも持っているような。数式はLaTeXでも出力できて、などと夢想するのも面白いかと。

ネタに詰まっておりますな。ハイ。

ついでに、Julyさんの所で電卓のアンケートをしているそうです(はるまき様情報)。一度、Julyさんで購入された方を対象としているのですが、プレゼントもあるそうで、お心当たりの方は奮って(?)アンケートに答えてみましょう。当方は、パスワード忘れちゃったので、今回はパス ... 。

(オマケ)長らくうっちゃってあった文書置き場に、HP-GCCのサンプルを置きました。御参照。

2009年6月18日木曜日

Solvreの演習

HP200LXの日本語マニュアルPDFがHPのサイトで公開されており、その中に、地表の2点間の緯度、経度を与えて、その2点間の距離を概算する式が出ています。

* 変数の割り当て

地点1の緯度、経度をLT1, LG1
地点2の緯度、経度をLT2, LG2
2点間の距離をDIST

* 計算式

DIST = 111.11973148*ACOS(SIN(LT1)*SIN(LT2)+COS(LT1)*COS(LT2)*COS(LG1-LG2))

※ マニュアルにある式は「法定マイル」という単位で計算する式で、式中の定数が異なります。こちらの式はキロメートルで結果を出します。

HP50gで計算させてみましょう。

東京タワーの位置は、35.658611 N, 139.745556 Eの辺りだと言います。もう片方の場所は、北鮮のムスダンリにでもしておきましょうか。ムスダンリの位置は、およそ40.855938 N, 129.665676 Eのようです。
この計算式では、東経と南緯は負数で与える必要があります。また、上記では十進度で角度を与えていますが、度分秒で与えるには、「HMS->」などの関数を用いて十進度に変換する必要があります。それに注意して計算すると、つぎのようになりました。

DIST = 1051.10059907 [km]

ここでは、HP50gのSolvreで計算させてみましたが、HP35Sでも同様に計算できます。但し、35Sの場合には変数が1文字という制限があります。

では、なぜ「概算」なのでしょうか。

実はこの式、地球が真球に近い前提で計算を行っているのです。実際の地球は偏平になっているので、細かいことをいうと色々と面倒なことになりそうです。

ちなみに、上記式の導出はHP50gで簡単に行えます(筆算でも余り難しいものではありません)。2地点の経度、緯度を与えてやれば、その2点の方向を示す単位ベクトルが定まります。すると、ベクトルの内積を用いれば、2点間の角度のcosineが求まります。後はarc-cosineを計算、更に単位角度あたりの地表面上の距離を計算する定数を掛ければ、おしまい。

この手続きを実際に計算すると、こんな具合です。
地点1、2の単位ベクトルをスタックに置きます。計算の簡便化のため、LG1-LG2 を D とおきました。

[ 'COS(LT1)' 0 'SIN(LT1)' ]
[ 'COS(LT2)*COS(D)' 'COS(LT2)*SIN(D)' 'SIN(LT2)' ]

そして、ベクトル内積を計算する「DOT」を実行します。これだけ。TIのDerive電卓でも簡単に計算できると思いますから、お持ちの方はおためしを。


追加 on 2015/04/19
200LXのマニュアルのあるページへのリンクを入れました。

2009年6月5日金曜日

Julyさんのblogから

5月はエントリなしでしたが、取り敢えず。
Julyさんのblogから話題を持ってきて話のタネにしましょうか。

最近は、HPも「これ」という関数電卓を出してくれません。

【プレスリリース】ヒューレット・パッカード社の電卓3機種 新発売
http://www.july.co.jp/index.php?main_page=wordpress&p=172

この中に、一応関数電卓があります。

HP SmartCalc 300s スタンダード関数電卓
http://www.july.co.jp/index.php?main_page=product_info&cPath=15_41&products_id=364

これです。でも、何だかCASIOの電卓みたいで、何だかなぁー、と。そんな折、こんなニュースもありました。

【お知らせ】 HP電卓 技術サポート窓口が変更になりました
http://www.july.co.jp/index.php?main_page=wordpress&p=173

何でも、サポート窓口が中国の会社になったそうです。国際電話かメールでの問い合わせ、との事ですが、英語を喋れないし書けないしという当方の様な場合は、困ってしまうねぇ。
※ July・溝江氏からの指摘があり、修正しました。日本語でもOKだそうです。

で、もしかすると、電卓の開発も中国の会社にやってもらっているのか、などと勘ぐったりします。確か、35Sがそうなったらしい、とか言う話だったと思うのですが、だとすると残念ですねぇ。Corvallisはどうなった ? まあ、夏には何かしら、話題があるかと期待しつつ。

ついでに、次のネタについて。

【サポート】PrintCalc用のロールペーパー
http://www.july.co.jp/index.php?main_page=wordpress&p=177

どうも、PrintCalcではインクを用いて印刷するらしいのですが、感熱紙だとインクが滲んでしまうのは仕方の無い所でしょう。

2009年4月14日火曜日

こんなニュースがありました

「IEEE、HPの電卓を「歴史的偉業」に認定」
http://www.itmedia.co.jp/news/articles/0904/14/news059.html

もちろん、現在販売されている35Sではありませんが、一応「電卓情報」なので。

※ はるまき様のBBSにスレを立てておきながら、少々野暮用が混んでおり、まだ書いておりません。
小人閑居して、と申しますが、電卓とは余り縁のない作業なので、妙に勘ぐったりしないでね。

2009年4月1日水曜日

いつの間にやら

HP StreamSmart 400(センサーインターフェイス)
15,750円

Julyさんでは、いつの間にやら、取扱いされておりました。とは言え「お取り寄せ」で、4週間掛かるということです。
他にも、Fourier systemsの各種センサーも入手できるとのことです。
当方は ... ウーム。ハードの勉強も必要ですし、誰か、試してみませんかね。ちなみに、HP50gでも使えるらしいです。

2009年3月17日火曜日

Ubuntuで、HP-GCC !

はるまき様のWikiを参考に、UbuntuでHP-GCCを入れてみました。と書こうかと思ったのですが、Egan Ford氏のHP-GCCパッケージが初心者にとても使いやすく、これで取り敢えずは簡単なCのプログラムが動いてしまったので、その報告を行います。

Egan Ford氏のサイトから、hpgcc-linux.tgzというファイルを持ってきて、ホームディレクトリに展開すれば、これで導入は終わりです。簡単でしょう。もちろん、本格的にHP-GCCを活用するのであれば、はるまき氏紹介の方法の方が良いのでしょうが、取り敢えずCのプログラムをHP50gで動かしたいという初心者には、この方法がおすすめです。

** Egan Ford 氏サイト

「Extend your 50g with C (HPGCC 2.0SP2)」
http://sense.net/~egan/hpgcc/

しかし、これだけではコンパイルの環境が用意されて居りません。Ubuntuの場合、次の2つのパッケージをSynapticsを使い、導入しておきます。

** build-essential
** libgtk2.0-dev

Ford氏のパッケージの便利なところは、HPAPINEも同じMakefileでコンパイル出来てしまう所です。それでは、Ford氏に従いCプログラムをコンパイルしてみましょう。
先ずは端末を動かし、hpgccディレクトリに移動します。

cd ~/hpgcc

続いて、つぎのように入力します (点、スペース、「hpgccenv」、Enter)。

. hpgccenv

これで、環境変数を設定しました。後は、コンパイラを動かすだけです。でも、その前に作業用のディレクトリを用意しておきましょう。ここでは、展開して出来上がった「hpgcc」ディレクトリの中に「user」というディレクトリを設けました。以降は、このディレクトリの中で作業するので、つぎのように端末に入力して、ディレクトリを移動します。

mkdir user
cd user

続いて、ここへ「hpgcc/test/Makefile」をコピーしておきます。後はCのプログラムソースファイルを置きますが、ここでは「hpgcc/2.0SP2/examples/balls.c」を例に使う事にしました。

cp ../test/Makefile .
cp ../2.0SP2/examples/balls.c .

これで、コンパイルの準備が整いましたので、端末から

make

と入力すると、電卓向けのバイナリ「balls.hp」が作られる筈です。しかし、出来上がったバイナリは実機(電卓)に持っていって初めて実行できるものであり、開発を行うUbuntu側では実行できません。そこで登場するのが「HPAPINE」です。実は、Ford氏のパッケージでは、同じMakefileでHPAPINEを使って、Ubuntu上で実行可能なバイナリも作れるのです。

HPAPINEは、「HP-calc API Not Emulator」の略だそうで、電卓のエミュレータではなく、電卓のAPIをUNIXで実行できるように置き換えたもののようです。そのため、HPAPINEを用いると、電卓向けのCプログラムをPC-UNIXでコンパイルし、実行できるようになります。電卓用バイナリの実行については、はるまき氏のサイトを御参照下さい。
Ford氏のパッケージでは HPAPINEもコンパイル済みなので、すぐに利用できます。電卓のバイナリを作る際にはmakeと入力するだけでしたが、HPAPINEを用いたUNIX向けの実行ファイルを作るには、Cプログラムファイルのサフィックス「.c」を「_local」に置き換えたファイル名を指定します。先程のballs.cをコンパイルするには、

make balls_local

と入力するのです。すると、実行ファイル「balls_local」が出来上がるので、これを実行して、プログラムの出来具合を調べられます。

./balls_local

プログラムの終了は、電卓の場合にはONキーですが、HPAPINEの場合はESCキーです。

Ford氏のサイトでは、gdbを使ったデバッグ手法についても述べられています。残念ながら英語ですが、入門記事として平易に書かれているので、辞書を片手に読めば、どうにか理解できるものと思います。

ちなみに、Ford氏のパッケージは、HPAPINEがGDKを使って実行するようにコンパイルされています。通常はこのままで実行に支障はないと思われますが、非力なマシンだと、ウィンドウの表示に一拍、時間が掛かってしまうので、Xlibを使ったものに変更することも可能です。
hpgcc/2.0SP2-hpapine/ に移動して、make clean を実行後、 Makefile.inc を書き換えて make しなおせばOKです。

2009年3月13日金曜日

eInkが流行らないワケ ... ?

AmazonのKindleでも使われているeInkですが、なかなか普及していないようですね、特に本邦では。
2年くらい前、eInkが使われ始めた頃の話ですが、書き換えの時にだけ電気が必要とのことで、液晶よりも電力を必要としない装置に使われるとの事でした。最近は、スーパーマーケットの商品の値札に、液晶表示器が使われておりますが、いくら液晶表示器の消費電力が少ないとは言いましても、やはり表示をしている間は、若干ながらも電気を喰います。そこで、eInkを使った電子値札、という話もありました。
しかし、本邦ではなかなか普及しないようです。AmazonはKindleを出しているというのに。電卓のマニュアルもPDFになっているので、eInkを使った手頃なPDFビューワーがあると、こうした文書が手軽に見られてウレシイかな、などと考えて居りました。すると、今日になってBrotherから、まさにそうした文書ビューワーが6月にも登場するというじゃありませんか ! コリャーエエ。

「ブラザー、A4サイズ1万枚の情報を持ち歩ける薄型電子ペーパービューワー発表」
http://pc.nikkeibp.co.jp/article/news/20090312/1013103/

しかし、法人向け、業務用を想定しているのですかね、コレは。価格が「14万円」だって。Kindleだってここまでしませんよ。アーア。期待して損した。道理で、本邦でeInkの文書ビューワーが普及しない訳でした。高々、PDFを見るためだけのeInkビューワーが、1桁も違う値段になってしまうんですから。これじゃあ、スーパーの値札にも使えない訳です。いや、eInk自体はそれほど高いものではないと思うのですが、本邦のメーカーが製品にすると、何故か値段が上がってしまうのですね。何なのだろう、コレは。Brotherは、複合機にLinux向けのドライバソフトも提供するなど、結構イイ感じだったのですが、やはり慣れない事はしないほうがいいのかな。いや、法人向けなら、それはそれで結構な話なのですが。