ラベル HP電卓 の投稿を表示しています。 すべての投稿を表示
ラベル HP電卓 の投稿を表示しています。 すべての投稿を表示

2025年12月31日水曜日

2026 наилучшие пожелания в новом году !

祝大家新年快乐 !


と、行政を刺激する様な中国語での挨拶であります。まあ、2025年の内からスカな事を書き綴っているので、御容赦戴きたく。

電卓と言えども、今時のスマートフォンに導入されている電卓 Apps で、高度な計算が出来る事は、皆様ご存知の通りであります。

関数電卓でも、こうした計算は十分こなす所であり、スマートフォンの電卓も関数電卓としての機能を具備していて、「有効桁数切り落とし問題」の一部は解決されている様でありますが、
翻って、フツーの電卓の計算における有効桁切り落としは、社会通念として厳然と存在するかの様ではあります。

電卓にも採用されている upython でも、内部の double float 計算では有効桁切り落としがあり、0.1×1 != 1.0 でありました。

sum = 0
for i in range(10) : 
  sum += 0,1
print(sum-1)
0.1 の2進数表現が無限小数となり、コレを途中で切り捨てているのが計算誤差の原因との事。
 
スマートフォン Apps では、このあたりまでシッカリ考えられているので、万人が所望する答え、利便をスパッと返して呉れる様でもあります。

スマートフォンの電卓Appsについては、他にも色々と考えさせられる所があります。
例えば、「いわゆる計算式の演算子の順番をうまく処理してくれる」という所もあります。
例えば 23+4*8 = という計算でありますネ。いわゆる事務用の電卓で計算すると、216になってしまう計算でありますが、四則計算の手順通りならば、55 になります。
四則演算では、加減算よりも乗除算の方が優先される、というアレ。関数電卓では、内部にスタックを抱えていて加減乗除の優先度を考えた計算式の通りに計算できるのでありますが、普通の電卓では、其処までのメカは持っていないのでありました。
代わりに、事務用の電卓ではメモリー機能を使って、数値の集計をすばやく出来るように工夫されておりますが、詳細はここで触れません。

HP 電卓の RPN では、ユーザーがスタックを明示的に操作する事で計算プロセスを外部化し、計算ミスをしにくくなるという利便もありましたが、同時に計算のためのスタックを少なくする事からメモリ資源の節約にもつながるという、開発側にとっての利便もあったという見方ができそうですネ。電卓で扱うような計算式の多くは二項演算でしたから、二項演算の二項演算として、スタックを4段用意すれば、かなり広い計算に対応できたのだと。

他にも、スマートフォン電卓Appsでは、関数電卓機能を具備する事で「大抵の関数電卓より大きい階乗の計算もこなす」のであります。
19515! の計算が出来ると知り、ちょっとした驚きではあります。
ココまでは、関数電卓でもなかなか計算出来ません。気が触れている具合でしょうか。「気触れ大サーカス」

ちなみに、関数電卓でも階乗計算機能を持っておりますが、計算内容が微妙に差があったり、など。
階乗の計算は、整数を1から始めて順次掛け合わせていくのですが、数学の知見とは驚くものがあり、Γ(ガンマ)関数による表現という拡張が為されているそうで、x! = Γ(x-1) とか。そこで、海外の電卓では、x! で Γ(x-1) の値を返すという風にしておりますネ。

Γ関数では、Γ(5.5) という計算ができますが、これを 6.5! として計算出来るといいます。
Γ価数の様な「特殊関数」が必要な場面は、それほど多くなさそうですが、最近のグラフ電卓では、t分布などの計算をスパッとこなしてくれるそうで、其の計算の背景では、Γ関数の計算などが入り用になっていて、内部に用意されているらしい。

余計なお世話ながら、python を使ってやれば、整数の階乗計算の「概数」(およその値)を計算する事はできそうです。
次の様なスクリプトを用意しておきます。

def ifac(n):
  r=0
  for i in range(n):
    r=r+math.log(i+1,10)
  print(pow(10,r-math.floor(r)),"e",int(r))
  return r

ifac(19515)

このまま実行すると 19515! の値を出力します。

Androidスマートフォンの電卓Appsでは、コレ以上の値は「計算できません」でした。
しかし、このスクリプトは概数を計算するだけなので、20000! といった馬鹿げた値も計算可能。
時間さえ掛ければ、もっと大きな値の計算が出来るはずですが、まあ、ココらへんで止めておくのが賢明ではあります。

(余談ですが、最初、log() の所でlog10() を使った所、Python Extra には log10() が無かった、と知り、変更した次第。log() で底を指定できるので、log10() は不要、という割り切りでありましょうか )

今時のスマートフォンは 64bit processor, OS であり、PCでの作業まで代替できるほど、とも言われております。
コンピュータでは CAS が稼働し、数式の計算ですら機械がハンドル可能となっております。

更に生成AIの援用で、実に様々な知見に対する解を即座に得られる利便があります。Cost, Time performance 向上の具として、実に心強いものではありますが、同時に、下手をすると「労働強化」の具にされている様な不審を抱いてしまうのは「生成AIとは無縁な生き方をしているから」ではありましょうか。

2025年は、CASIO fx-CG100 が発売されました。
fx-CG100 は、従来の BASIC 言語を排し、upython 一本に絞った恰好ながらも、同時に 外部 Apps が出来ない構成したそうです。
しかし、世界の Calc Hackers は「風穴」を開ける手段を研究し、今では MPM という成果が公開されております。

2026年は、どうなってくるのでしょうか ?
世界が平和、平穏無事であります様に。( 「そんな事を言う前に、何かオモロイネタでも書けヤ !」と言われれば、仰るとおりではあります。ハンセイ )

そういや、この post が 400本目になっておりました。あーあ。

 

2025年9月14日日曜日

HP50G がイカれてしまった ...

 永らく使っていた HP50Gのキーボード。遂に入力できないキーが出てしまい、泣く泣く使用を断念する事にしました。エーン ...
接点復活剤をキーの隙間から吹き付けると回復するらしい、という話をみたので試してみたのですが、好転せずショボーンなのであります。

その為もあって、目下、手遊びのお供としては、fx-CG50 を使っているばかりなので、そろそろ HP電卓についての話題も止めざるを得ないのであります。ウーン。

そうした折、以下の post を見ました。

bockring 様 ( @bockringElec ) X post

圧倒的にHP Prime
fx-CG50持ってるし

CASIOくんのほうが3Dグラフは多機能だけど、全体的にPrimeが上かな
まぁレビュー記事でも読んでくれぃ

https://qiita.com/bockring/items/53b4b887d8885be4da50
https://x.com/bockringElec/status/1966761390204768714

bockring 様は、以前にお知らせを戴いた方だと思います。HP Prime fimware の翻訳、更新などに貢献されて居られる様で、誠に頭の下がる思いであります。

Sentaro 様も、HP Prime G2 は電卓の中では"爆速"の部類に入る様子のお知らせを戴きまして、正直、いじってみたい気もあるのです。
しかし、電卓とPCをリンクする際、Windows 版 Linker Apps が要るのが、正直クルシイ。なんと言っても、未だに Windows 持っておらんのですヨ、ハイ。

そりゃ、PCといえば  Windows と言う位ですから、一般常識としては抑えておくのが当然ではあります。
所が、今まで Windows を使わず過ごしてきた身としては、今から電卓の為に Windows PC を用意するというのは、懐にも堪えるものがあるのでありまする。
今般、近所の家電量販店に行ってみましたら、今時の ノートPC, 15万円が最低線の様な印象を受けました。代わりに、RAM 16GB とか。ゲゲゲのゲーッ ! と思いましたが、最近では生成AIを使うとかで、コレくらいの RAM は当たり前、という風潮。まぁ、ついていけまへんなぁ、コレは。
生成AIという新しい「活用法」が提示され、同時に Win 10のサポート終了とあって、Windows (11) PC もより売上を伸ばす事になるのでしょう。しかしながら、価格が低廉になるには、今暫くの時間を要する様でもあります。

HP Primeは、上記の bockring 様など、様々な方が翻訳やBug Fix に貢献されて居られる様で、今後の発展も気になるのですが、如何せん、Windows PC を持っていないと、ついて行けないという哀しみがあるのですネ。

Windows PC を持っていないと、fx-CG100 も「ゴニョゴニョ」出来ない、という意味では通じる所がありますから、目下の所、「生産完了品」fx-CG50 でポツポツと遊んでいる日々であり。

そんな具合ですから、HP 電卓のネタは、どうにも触れる機会が減ってしまいました、申し訳ない次第。

HP 電卓の様々な情報がアップされる MoHPC も頻繁にCrackers Attack を受けているらしく、時折、Members only になったりします。そんな具合でもあり、HP電卓の情報を漁ろうにも制約が ... 

マイッタなぁ。


2023年5月24日水曜日

HP15C Collectors' Ed. だって

 最近は、電卓の話題から遠ざかっているので、偉そうな事は言えない。
そんな日々、こんな話題を目にしました。

Lilbits: HP 15C Collector’s Edition calculator, a Winamp-inspired physical music player, and more - liliputing
https://liliputing.com/lilbits-hp-15c-collectors-edition-calculator-a-winamp-inspired-physical-music-player-and-more/

なんと、HP15C Collectors' Ed. というのが、この7月にも登場するとの事。

しかし、内容としては、ARM processorで復刻したと思しき、HP15C Premium ed.と同様に思われます。プロセッサの速度は、オリジナルの15C に比較すれば「爆速」(x100)、若干、メモリは増えていそうな ?

ノスタルジィを誘う、良い製品ではあります。15Cは色々とお勉強させてくれたものなので、手元に欲しいかナ、とも思うのですが、
昨今はRPLもまともに使っておらずなので、こんなポンコツが買っても、恐らく使うことはあるまいやなぁ、とため息。

随分以前に35Sを購入したのは、15Cの代替としての利用を考えていたのですが、35Sは、行列計算能がなく、代替とするには難しいものでした。
15Cの行列計算能は、この小さなメモリ資源に、ここまでの機能を盛り込んだ、というくらいの驚異的な製品だったのですが、それは、登場当時の話であります。
今日、機能的には十分に高性能な電卓製品が十分低廉な価格で入手可能です。

しかし、7月発売とは ... Julyさんが営業していたら、販売したのだろうなぁ、と。ウーム ...

2022年10月28日金曜日

「やさしい時代」の計算

 先日、つぎのblog様をみまして、驚いちゃったのヨ。

ref. PEMDAS / BODMAS - 数学も英語も強くなる! 意外な数学英語 Unexpected Math English
http://math-eng.blogspot.com/2019/05/pemdas-bodmas.html


なんでも、2^3^2 の計算の結果が、Wolfram Alpha と TI-84 plusでちがーう値になるのだとか。ウーム。

いくつかの計算資源で試してみましたヨ。

  • fx-CG50

2^3^2 とキーを叩くと、数式表示モードでは「2の肩に3が、更に3の肩に2が乗る」表示になります。
これで計算すると、512 という値が返りました。うまく出来ております。
一方、1行表示モードで計算すると、驚いた事に 64 になるのですネ。
これは、TI-84 plusの計算式に寄せているということなのか ?
 

  • Numworks電卓

Numworksでは、数式表示モードしかないので、512 という値が返る様です。
シミュレータで試した範囲では、こうなりましたネ。
 

  • HP50G

HP50GのRPNモードでは、'2^3^2' と打ち込んでやります。すると、2の肩に3が... という数式表示になって、更にEVALキーで評価すると、512 が得られました。

当方が高校生の時分、こうした累乗の累乗の計算について、先生から、こんな風に教わりました。

例えば「a^b^c」という式は「aのbのc乗乗」と読むのだと。これは、括弧を補えば「aの(bのc乗)乗」という具合です。式の上では「a^(b^c)」で、累乗のバヤイ、結合規則は「右から左」という事のようです。

高校の当時は、こんな計算をするとは思えなかったのですが、今はプロ電一丁で気軽に計算できる御時世。昔の数学の勉強、やさしい時代だったなぁ、などと。

これは、Wolfram alphaで適用されている規則の様ですが、TI-84 plusではそうなっていないと言います。

関数電卓では、括弧の計算で、途中の結果を保留するのに内部でスタックを用いておりますが、昔の関数電卓では、かっこの段数=スタックが6段程度しか用意できないものでした。メモリ資源が十分ではなかったのですネ。そりゃそうです、昔の関数電卓では、プロ電でも38 stepで定数メモリ7個とかでしたヨ。
TI-84 plusになると、プロセッサもZ80互換でメモリも十分になってきましたが、式解釈部分は省メモリの構成だったのか ? などと夢想するのであります。そこで、累乗の演算子結合処理も、右から左結合ではなく、左から右結合でおこなっていたのだろうか、と。

ちなみに、HPのRPNは、こうした「メモリ資源の少ない」ハードウェアでも、スタックを明示的に利用する事で、式解釈の部分を省力化できたのだろうか ? などと夢想するものです。
同時に、演算子の優先順位を考慮する式解釈を人間にやらせる事で、式解釈の曖昧さ回避にもつながる「功徳」が得られたのではないか ?
上記のblog様では、PEMDAS / BODMAS ちうモンをご紹介されておりますが、こうした話題には、1行数式記述による演算子の優先順位の曖昧さに関わる問題を孕んでいる様に思われます。

TI-84 plusで、「2の肩に3が、更に3の肩に2が乗る」計算をする場合にはどうしたらいいのか ? 答えは簡単で、括弧を明示使用すればよろしい。「2^(3^2)」という具合ですネ、恐らく。(持っていないので、お持ちの方はお試し戴き度)

プログラミング言語では、数式記述部分で演算子の優先順位などを仕様として規定する様です。
グラフ電卓では、数式表示機能を充実させる事で、曖昧さ回避をしたのか ?

久しぶりに面白い話題に触れた格好ですが、こうした事も抑えておかないとならないので、今の学生さんのご苦労には頭が下がる思いであります。

2020年3月14日土曜日

今日はホワイトデーなので (?)、久しぶりにHP Primeのコード

まずは、こちらのtweetを御参照

cf,
https://twitter.com/RR_Inyo/status/1217489174128758784

z' = cos(Z) の繰り返しで、こんなグラフィクスが描けるそうで、HP PRIMEでもやってみましたヨ。
まだ、実機を持っていないので、今回もSIMで作業ですが、以下のコードを御利用下さい。

// title : iter_cos.ppl - iterative complex cosine graph for HP Prime
// begin : 2020-02-16 20:37:33 

//
pixVal(z, c)
BEGIN
  LOCAL  cnt := 0;

  //  この判断式がミソです
  //  Mandelobrot, julia setでは、abs(z)<4 .0="" br="">  //  このグラフィクスのバヤイはこんな風でした
  WHILE (ABS(z) <= 50) AND (cnt < 20) DO
    // modify this form to enjoy
    z := COS(z);
    cnt := cnt+1;
  END;

  //  color value : 0 for black, 16777215 for white
  RETURN RGB(1*cnt/20*255, 0.75*cnt/20*255, 0.25*cnt/20*255);

END;

EXPORT itercos()
BEGIN
  // Clean the screen (G0):RECT();

  LOCAL dx, dy, z, xp, yp; 
  LOCAL xmin, xmax, ymin, ymax;
  LOCAL pixStat;

  //  screen range
  xmin := -10;
  xmax :=  10;
  ymin :=  -5;
  ymax :=   5;

  dx := (xmax-xmin)/320;
  dy := (ymax-ymin)/240;

  // we loop over each pixel
  // Of the HP Ptime screen 
  FOR yp FROM 0 TO 239 DO
    FOR xp FROM 0 TO 319 DO
      z := (xmin+xp*dx, ymax-yp*dy);
      pixStat := pixVal(z, Z0);
      PIXON_P(xp, yp, pixStat);

    END;
  END;

  //  key wait loop
  REPEAT UNTIL GETKEY() == -1;
  FREEZE;

END;



Numworks, mandelbrotのコードを改変したとの事で、単純に式を置き換えたのですが、それだけでは、こうしたグラフィクスにはなりませんでした。
色々といじくり回し、最終的に繰り返しの判断部分をいじる事で、Tweetの様なグラフィクスを得た次第。

最近、HP Prime G2の価格が大分下落してきております。

cf.
https://www.amazon.co.jp/gp/offer-listing/B07HF6RXGG/ref=dp_olp_new?ie=UTF8&condition=new

G1との価格差も狭まってきました。Sentaro様曰く、G2は動作軽快でメモリ増量。ウーム。

一方、G2は、新しいファームがあるそうです。

cf. HP Prime Beta Software
https://www.hpcalc.org/prime/beta/

ハードウェアの違いがあるので、ファームも更新されたらしい。

そういや、こうしたコードを挙げておきながら、HP Prime実機への転送方式、気にした事がありませんでした。どなたか、ご教示ただけると幸いです。やはり、HP Conn-Kitしかないのかなァ ?

2017年12月22日金曜日

HP電卓のサポートについてのメモ

HP電卓の国内代理店であったJuly.co.jpがアクセスできない状態が続いております。

そこで、サポートはどうなるん ? と思っておりました。

Amazon.co.jp出店者のプロファイル:(株)ジュライ
https://www.amazon.co.jp/sp?_encoding=UTF8&asin=B000GTPRPS&isAmazonFulfilled=&isCBA=&marketplaceID=A1VC38T7YXB528&orderID=&seller=A1RXEGCA5ZKFK6&tab=home&vasStoreID=

ここによりますと、sykes.comがサポートを行う、となっております。
そこで、メールで問い合わせをしてみました。

メールアドレス
CNSHAHPCalculatorJP@sykes.com

しかし、「そんなメールボックスはないよーん」というツレない返事。残念ながら、このパスはありません。

また、青森のジュライさんの住所を調べると、「ジュライモーゲージ」という会社がある事が判ります。SBIのフランチャイジーなのか ?

どうなっちゃったんだよう ... 。

最近、HP35Sの日本語マニュアルについての検索が増えている様に思われます。
最近販売しているHP35Sには、CD-ROMで各国版のマニュアルPDFが付録しているらしいのですが、少し前に購入したものには、残念ながらCD-ROMがありません。

一頃、Julyさんで「校正用」として公開していたPDFがあります。少し古いものですが、ご参考までに。

2017年6月10日土曜日

HPGCCでこんなコードを書いた 3 - WannaCry祭り

最近はコメントも少なく、fx-CG50についての話題も追いかけておらず、アクセスも激減。いい感じに「枯れて」来ました当blog。ホント、干からびてしまいました。Julyさんもおかしな事になっておる様で、HP Primeもどうにも購入できない有様。


まあ、それはさておきまして、いい感じに過疎って来ましたので、またまた、気晴らしでHPGCCの短いコードを書いてみましたヨ、どうせ誰も見ては居まいでしょうから ! こうなりゃ「孤独のコードグルメ」です。


先日、世間を騒がせたランサムウェア「wannaCry」。Twitterでは、こんなお祭りがあったそうで。

ランサムウェアの「WannaCry」。ついにコモドール64にまで感染!? ~ Twitterで各種ネタ画像が出回る - やじうまWatch
http://pc.watch.impress.co.jp/docs/news/yajiuma/1060474.html

遅ればせながら、HP50Gでお祭りに参加しようと、 こんなコードを書いてみました。





それっぽい表示+オマケで大したものではありませんが、実行は一応(いま流行りの ?)「自己責任」という事で !

2017年4月30日日曜日

HPGCCでこんなコードを書いた 2

春が過ぎ、夏に向かいつつあります。

相変わらず短いネタばかりですが、何か書かないとと思い。
今度もHPGCCによる、HP50G向けのアニメーションプログラムです。


大したものではありませんが、一服の清涼飲料として。

当方も何か、プログラムを書こうかという意識だけはあるのですが、なかなか簡単じゃないよ。
何か、そこそこの電卓クライアントでも作ってみたいもの ... トホホ。

2017年3月2日木曜日

世迷い言 ...

「FlashAir」では、Luaスクリプトが動いて、無線関係もプログラミング出来るとか。

SDカードが郵便を通知! 無線LAN付きSDカード「FlashAir」を使ってドアポストセンサーを作ってみた<後編> - Akiba Watch
http://akiba-pc.watch.impress.co.jp/docs/column/electronic_iot/1046389.html

 ならば、HP50Gに使ったら面白そうだなぁ、と思ったのですが、問題が。HP50Gで、FAT32のアクセスが問題ないのか ? 
また、無線を使うと電気も食いそうで、その辺りも心配。

少々高いので、エイヤッと買っても使えないとなれば、これはカナシイ。誰か、やってみては呉れまいか ... (他人任せかよ、相変わらず)。


2017年3月1日水曜日

Julyさんのサイトにつながらない

先日来、JulyさんのAmazon店から、HP電卓の在庫が無くなっておりますが、気になって、Julyさんのサイトをアクセスしようとした所、どうにもつながらない。ウーム ?
pingを打っても反応無し。どうも、expiredになっているのか... 。

どうしちゃったのかな ?
日本の総代理店なので、早期の復旧を期待したい所です。

2016年10月10日月曜日

HPGCCでこんなコードを書いた

こんなの。
(MSのOne driveのリンクです)


HP50Gで動くアニメーションのコードです。

暇があったら試して丁髷。

2016年9月23日金曜日

懸垂線、再び

以前、当blogで、関数電卓に付き物の双曲線関数の使用例で、懸垂線の計算について調べたネタをアップしました。

懸垂線は、紐や鎖の両端を持ってタラリと垂らすと、その紐なり鎖なりが描く曲線なんだそうです。数式では、つぎの式で示されます。

y = a * cosh(x/a)

HP35SのTraining modules には、懸垂線の計算例が紹介されておりましたが、紐の両端を持つ、その高さが等しい例でした。
しかし、紐をタラリと垂らすとなれば、その両端の高度が違う場合もありましょうや。
そこで両端の高度が異なる場合、懸垂線のパラメタ (カテナリ数と極点x座標)の数値を求める方法を調べてみようと思います。

懸垂線は、紐の両端の高度が異なっても、同じ式で表現されると言います。
両端の高度が異なる懸垂線は、煎じ詰めるとつぎの数値で決定される、として良いでしょう。

  • 紐の片方の端を原点とし、もう片方の端を「吊り下げ点」として、吊り下げ点の座標(D, H)を与える
  • また、紐の長さ L を指定する
こうすれば、懸垂線のパラメタは一意に決定されそうです。これら3つのパラメタ、H, D, L を指定すれば、懸垂線のパラメタである a (カテナリ数), x (極点x座標)が決定され、懸垂線自体が決定できるだろうというハラです。
コチャコチャと計算すると、D, H, Lからa, xを決定する方程式は、つぎの2本である事が判ります。

a*(sinh(x/a)+sinh((D-x)/a)-L = 0
a*(cosh((D-x)/a)-cosh(x/a))=H = 0

非線形の連立方程式です。解析的に解けるんかいや ?
大変難しそうで、当方の知見は及びません。しかし、高機能電卓の一部には、数値解を計算する機能を持ち合わせているものがあります。そう、HP PrimeやHP50Gが、まさにソレなのです ! (もちろん他にもありますが、当blogはHP電卓の情報発信を任じておりますので)。

HP50Gでは、つぎの様にします。

  1. D, H, L に数値をストアします
  2. つぎの通り、スタックに配します

  3. [ 'A*(SINH(X/A)+SINH((D-X)/A)-L=0' 'A*(COSH((D-X)/A)-COSH(X/A))=H=0' ]
    [ 'A' 'X' ]
    [ 10 10 ]
     
  4. MSLVを実行
最後にスタックに積んだ [ 10 10 ] は、数値解を求めるための「初期値」で、未知数A, X に対応します。この例ではA=!0, X=10 としましたが、D, H, Lとの兼ね合いから、適切な値を指定しないと数値解が得られない事もあります。

例として、つぎの場合を計算させてみましょう。

入力  D=35, H=18, L=44

結果  A=19.0231959735, X=9.23406136377

HP Primeの場合は、もっと楽 ?

「解く」アプリを呼び出し、つぎの様に数式を入れます。


そして、[Num」キーを押して、D, H, Lに数値を設定、チェックボックスのチェックを外し、A, Xを求めるので、A, Xのチェックボックスにはチェックを入れたままにして、スクリーンキー右端の「解く」を押します。



答え。


エミュレータでは、瞬時に値を得られましたが、実機では若干、時間がかかるでしょうか。それでも、50Gよりは断然早いものと思われます。

2016年7月12日火曜日

電卓による母比率計算の例

先般、参議院議員選挙が行われ、改憲勢力が2/3を獲得したとの事で「平和憲法サヨウナラ」となる事が決まりました。

マスコミはこぞって「出口調査の結果に拠りますと」と述べておりますが、統計学の教える所に拠りますと、偏りのない標本集団を得られれば、母集団の比率が推測できるのだと言います。
HP50GやHP Prime、TI-83+には、母比率の推定機能が盛り込まれているので、手のひらで計算する事が出来ます。

例えば、標本数n=320の内、あるカテゴリの数がx=170だった、として、母集団における、あるカテゴリの割合=母比率がどのくらいになるのか、計算できるのです。
標本集団における、あるカテゴリの比率はx/n = 0.53125 ですが、これは標本集団の比率であります。
標本集団の標本数を十分大きく取る事で、標本比率は正規分布に近付いていく、という難しい理屈(「中心極限定理」)があるのだそうですが、電卓の機能は、そうした背景を以って構成されているので、単純に数値を入力してやれば、立ちどころに答が得られます。
しかし、背景となる理屈の詳細までは知らずとも、ある程度の知識を持っていないと、その答えを吟味する事は難しいものです。
母集団から一部の標本を抽出し標本比率を計算すると、その標本比率は、やはり正規分布をする、のだそうです。
標本比率の分布する範囲は、正規分布となるため、例えば95%程度の確度で、この範囲に存在する、という結果が得られる事になります。

n=320, x=170の例で、確度=0.95 (95%)の分布範囲は、0.4765744 〜 0.5859256 の範囲、という結果が返ってきます。

実際に、HP Primeでやってみましょう。

[Apps] -> [推論] とキーを押して、つぎの情報を選択します。
  • 方式 : 信頼区間
  • タイプ: Z-Int: 1 π

[Num]キー押下、次の数値を入力します。
  • x:170
  • n:320
  • C:0.95

これで計算の準備が出来ました。つぎの選択肢があります。
  • [計算]メニューキーを押下すると、結果ウィンドウで表計算っぽい結果が得られます
  • [Plot]キーを押下すると、正規分布グラフと共に結果が表示されます

Plotキーを押してグラフを表示した例

2016年6月20日月曜日

HP Prime Virtual calcの新版があるらしいが


ftp://ftp.hp.com/pub/calculators/Prime/

ここを見ると、新しいタイムスタンプのファイルがありますが、ファイル名が「去年」です。
しかし、念の為、アップデートを行ってみました。先ずは、仮想電卓を動かして更新を掛けますが ... ダメ。
そこで、ファイルをダウンロードして実行してみますが ... 「新しいバージョンがインストール済み」と出て、失敗します。
ウーン、どうなっておるのか !?

どうやら、日付を間違えて設定されているのではなかろうか ? 近々、修正されてアップされるのではないか、と密かに期待します。

2016年4月22日金曜日

速報・HP Prime仮想電卓の新バージョン


New Version: 2016.04.14 r10077 - MoHPC
http://www.hpmuseum.org/forum/thread-6085.html

という訳で、仮想電卓の新版も出ている様です。
しかし、仮想電卓を動かしても、アップデートされる気配がありません。ftpのファイル置き場を覗いたら、どうも新旧2つのファイルがあり、アップデータが混乱しているのか ?

ftp://ftp.hp.com/pub/calculators/Prime/

2016年3月16日水曜日

小数点数の2進数表現

今回も、どちらかというと中高生向けのネタです。

ここで「小数点数」と書きましたが、単純に小数点を含む数値の事です。

ex.
1.32, √2 = 1.41421356 ... , π = 3.1415926 ...

これらの数値は10進数にて書くのが当たり前でありますが、理屈の上では2進数でも書けなくはありませんよネ。
関数電卓の基数変換機能を使って、これら小数点数の基数を変えた表現がどうなるのか、チョット調べてみようと思った次第です。

関数電卓の基数変換機能ですが、通常はIntegerでしか扱えませんから、小数点数の表記を求めるには、少し工夫が必要です。
基本的な考えとしては「小数点を取り除くために基数倍する」のです。

1.32 を例に取ります。まず、基数倍、この場合では10進数表記なので10倍します。すると、1.32 * 10 = 13.2になります。更に10倍すれば 132 となって、見事、小数点を取り除くことに成功しました。

「基数が10の場合には、10倍の手続きを必要な回数繰り返す事で小数点を取り除く事が出来る」という事は、
「基数が2の場合には、2倍の手続きを必要な回数繰り返す事で小数点を取り除く事が出来そう」ですネ !
では、やってみましょう !

今度も、1.32 を例にしてみます。2進数表現でどうなるのかを調べるのですが、その為に、2倍、2倍の手続きを繰り返します。
1.      1.32 * 2 =     2.64
2.      2.64 * 2 =     5.28
3.      5.38 * 2 =    10.56
4.     10.56 * 2 =    21.12
5.     21.12 * 2 =    42.24
6.     42.24 * 2 =    84.48
7.     84.48 * 2 =   168.96
8.    168.96 * 2 =   337.92
9.    337.92 * 2 =   675.84
10.   675.84 * 2 =  1351.68
11.  1351.68 * 2 =  2703.36
12.  2703.36 * 2 =  5406.72
13.  5406.72 * 2 = 10813.44
14. 10813.44 * 2 = 21626.88
ああ、面倒くさ。「もういいでしょう」

で、こうして得られた数をどうするか。まず、小数点以下を切り捨ててしまいます (ああ、もったいない !)。
そして、関数電卓の基数変換機能で表示を変えてみるのです。

101010001111010

という表示が得られる筈です。
これは、2を14回、掛け合わせた数値であり、2進数表現において2を掛けるという事は「1桁倍した」という事でありますから、14回だけ小数点を左へずらす事で、本来の数値になる勘定です。

1.01010001111010

こうして得られた1.32の2進数表現ですが、実際には途中で切り捨てているので、正確な値ではありません。

1.32 (10) = 1.01010001111010 ... (2)

という具合です。

今の例では2倍ずつ掛けて行きましたが、実際にはオーバーフローしない範囲でまとめて桁上げしても構いません。
HP35SやFree42では、36ビットの数値をハンドル出来るので、この例では30ビット分の桁上げをしても充分です。1024を掛けると10ビット分の桁上げになりますから、1024を3回掛け合わせれば30ビット分の桁上げになります。

1.       1.32 * 1024 =       1351.68
2.    1351.68 * 1024 =    1384120.32
3. 1384120.32 * 1024 = 1417339207.68


これを2進数表示して、つぎの値を得る事が出来ます。

1.32 (10) = 1.01010001111010111000101000111 ... (2)

実際には、この値の方が正確な様です。

同様の手続きを√2や円周率に適用する事で、2進数表記を得られます。
答えを以下に示しますので、お試しを。

√2 =  1.011010100000100111100110011011 ... (2)
π  = 11.001001000011111101101010100010 ... (2)

----

あれーっ、July Amazon店のHP50Gが、売り切れだって !

2016年3月9日水曜日

HP Primeによる複素数のグラフの例

最近はJulyさんのAmazon店で、HP50Gの在庫が5台と少なくなりつつありますが、HP Primeの方は在庫も潤沢な様です。
そこで、Primeの売上に貢献すべく(?)、こんな話題をお届け。
 
HP50G, HP Primeでも複素数の計算が出来ます。

ここでは、HP Primeにて等角写像の例として、Zhukovski 変換を使ったグラフィクスを描いてみましょう。
詳しい内容は、Zhukovski変換を調べてください。

先ずは、変換する前の円の中心座標を定めます。複素平面に描くため、円の中心座標も複素数として設定しますから、複素数を保持できる変数が必要です。デフォルトで利用できる複素数変数にはZ0~Z9までがあり、ここではZ0に(-0.08, 0.15)を設定してみました。
つぎに、変換する円の半径ですが、これはsqrt((1-Re(Z0))^2+(Im(Z0))^2) とします。


変換する円の式をdefineによって定義しておきます。


更に、Zhukovski変換の式もdefineで定義すると、楽に進みます。


最後は、「パラメトリック・プロット」アプリケーションを呼び出し、つぎの様にグラフの式を設定しておきます。アプリケーションの複製を作り、Zhukovskiとでも名付けてやってもいいかも知れません。


後は、Graphキーを押してやれば、変換前の円と、Zhukovski変換にて得られる「翼断面」の図が得られるはずです。






同様の事をHP50Gでも作業できますが、実行速度はHP Primeの方が断然早そうです。

2015年10月9日金曜日

10月になりました

10月になりました。

Julyさんの所の電卓、全て完売になっており、再入荷の目処は立っておりません。ウーン。

CASIOが「新しいスマートウォッチを投入する」としたのが、今月です。さて、何が出るのやら ? ついでにオモロイ電卓を期待したい。

CASIOの電卓も50週年とかで、キャンペーンを実施中だそうです。

カシオ電卓50周年
http://casio.jp/dentaku/sp/50th/

新しい高機能電卓を期待したい所です。

さーて、何か考えないとなァ ... 。

2015年9月26日土曜日

Julyさんの所のHP Primeが「おいでおいで」をしている ...

先ずは、最近は入手しにくくなりつつあるHP電卓マニュアルなどのPDFの一部について、リンク(直リン含む)を載せておきます。

HP35S Training modules
http://h30499.www3.hp.com/t5/Calculators/HP35S-Training-Modules-for-specialties/td-p/5854845?notmigrated#.VfKfk7O-feQ

HP50G Training modules
http://www.ele.uri.edu/faculty/vetter/Other-stuff/HP-calculators/HP-50g/index.html

HP42S manual
http://h10032.www1.hp.com/ctg/Manual/c01094960.pdf

HP15C manual
http://h10032.www1.hp.com/ctg/Manual/c01095005.pdf

HP12C manual
http://h10032.www1.hp.com/ctg/Manual/c00787560.pdf

HP12C クイックスタートマニュアル
http://www1.hp.com/ctg/Manual/c01798125


少し前の事ですが、某県知事が「高校女子に三角関数の勉強など不要」と公言し、インターネットでは「何を言うか、女性蔑視だ」などという意見が多く出回りました。そうした意見を受け、訂正を述べたとの事。県知事自身が「俺も使った事ないしネ」と言ったとかナントカ。

「女子に三角関数必要ない」 - Reuter
https://jp.reuters.com/article/2015/08/28/idJP2015082801001432

https://twitter.com/Stakesh/status/637048757142458368

https://www.facebook.com/photo.php?fbid=1522492048040753

この「訂正」は、結局の所「男女問わず、高校生程度のガキにサインコサインの勉強なんて、いらねんじゃね」という事になっております。
高齢に達し県知事になった所で人生を振り返ってみれば、確かに三角関数の計算など無縁だったのでしょう。大学出ても、計算を必要としない人は少なくなく、確かに申す通りなのかも知れません。

日本で少なく売られている関数電卓について、土地家屋診断士試験対応電卓などを謳っているものもあり、三角関数が生活にまったく不要なのか、というとそうでもなさそうです。
遠山啓・著「数学入門 (下)」(岩波新書)には、洋服の縫製について、袖の展開を行うと接続面にsin curveが現れる、と書いてありました。工業高校では間違いなく必要であり、高専なんかでは入学してからすぐに微積分を教えるとか。
商業高校ではサインコサインの計算には余り縁がないのかも知れませんが、複利計算を考えると、指数・対数の計算が顔を出します。
「高校生程度のガキに三角関数は不要」とは限らないのだと思う所です。

過日、Twittreで、こんな話題がありました。(リンクを持っていないので、記憶に基づいて文意を書いております。御容赦)
「せんせー、なんで三角関数なんて勉強すんの」というガキには「それは、こうしてバカなガキに三角関数を教えるお仕事が存在するからだ」と言うとガキは納得したので、おススメです
ネタとしては、なかなか面白い答えですが、現実では、バカなガキが言うのではなく、県知事がこんな事を言うております。
こういう県知事が出てくる事こそ「この国の教育が荒廃した」という証左なのですが、こうしたイカレテいる知事の話は、これ以上相手にしていると気が触れそうなので止めます。


CASIOの社員ですらも「高機能関数電卓の高機能を使う必要を感じていない」とは以下の記事でも書かれております。

異様に欲しくなった電卓の話 カシオCLASSWIZ - 週刊ASCII
http://weekly.ascii.jp/elem/000/000/339/339010/

関数電卓の基本的機能さえあれば十分、という意識なのでしょう。
ただ、こういう意識で関数電卓、高機能電卓を使っているとなると、確かに需要は減っていく。

所が、海外ではAggressiveに、関数電卓、高機能電卓が売られているのです。TIはトップシェアで、CASIO,HPと続いているらしいのですが、Sharpでさえも海外では高機能電卓を出している !

Sharpも海外ではEL-9950なんて製品を出しているそうで、当方としては「EL-9950という電卓がある」という事に驚いたのでした。これは、過去に発売されていた「EL-9900」の改良新機種らしく、機能的にはTI-83+に相当する模様。

[シャープ] SHARP EL-9950関数電卓ライセンスシールを提供グラフィックコンバータ(海外直送品)- Amazon.co.jp
https://www.amazon.co.jp/%E3%82%B7%E3%83%A3%E3%83%BC%E3%83%97-EL-9950-SHARP-EL-9950%E9%96%A2%E6%95%B0%E9%9B%BB%E5%8D%93%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%82%B7%E3%83%BC%E3%83%AB%E3%82%92%E6%8F%90%E4%BE%9B%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B3%E3%83%B3%E3%83%90%E3%83%BC%E3%82%BF%EF%BC%88%E6%B5%B7%E5%A4%96%E7%9B%B4%E9%80%81%E5%93%81%EF%BC%89/dp/B00T7U4A4G/ref=pd_sim_sbs_229_8?ie=UTF8&refRID=0SSSXVYTXG92RNAAE4SE#productDetails

Sharpは、海外ではこんなのを出して居るのですね、何で日本では出して呉れないの ?

一方、以下の記事には興味深い事があります。世界的に見るとSharpの電卓シェアは、実の所かなり少ない。

4 電卓は今後どう進化していくのか? - 【レポート】「いつでも、どこでも、だれにでも」使える計算機を! シャープ、電卓発売から50年の節目 - mynavi
https://news.mynavi.jp/articles/2014/03/18/sharp_calculator/003.html

電卓は現在でも、全世界で1億3,000万台の需要がある。シャープは現在、年間700万台を出荷しており、そのうち国内が100万台、海外が600万台となる。

(国内における)電卓戦争の一方の覇者・Sharpでさえも、世界的には大した売上がなかった。そのSharpでさえも、海外では高機能電卓を販売している。結局の所、国内においては高機能電卓の需要がない、という事に尽きるのでしょう、残念ながら。

先日、Julyさんの在庫が復帰したHP Primeですが、入荷数が多く無かったのか、既に残り2台となっておりました。
他のHP電卓も大分さばいていて「もうHP電卓の販売は終了なのか ?」と思ったのですが、価格が少々高めのリアル店舗・東映無線さんでは在庫が潤沢な様子なので、Julyさんでも当面販売は続くのかなぁ ?

https://www.toeimusen.co.jp/~dp/

東映無線さんでは、HP Prime以外にも50Gなどの在庫が十分あるみたいですから、「どうしても50Gが欲しい」方も、今暫くは迷えそうです。(Julyさんから引いているので日本語クィックガイド付きの筈ですが、念の為、お問い合わせ戴き度)

当方はHP Primeの「日本語冊子付き」を待っているのですが、頻繁なファームウェアのアップデートと、それに伴うPDFマニュアルの更新もあって、紙マニュアルは印刷と製本が追いつかないのかも知れず、日本語冊子付きは当分出ない可能性があります。

2015年8月27日木曜日

今回は移植ネタ「酔っ払いの虫」

先日、親分からつぎの話題を紹介されたのですが、関連したものを色々と調べている内に、記事のアップが遅れてしまいました。

楽屋裏 - 酔っ払いの虫 (Drunk Bug) - e-Gadget - プログラム関数電卓
http://egadget.blog.fc2.com/blog-entry-445.html

以下では、この記事を「原作」と記しております。まずは、TI-83+への移植を試みました。

TI-83+版のコード

PROGRAM:DRUNK
:ClrDraw
:94/2→V:62/2→W
:While 1
:Pxl-Change(W,V)
:2*randInt(0,1)-1→S
:2*randInt(0,1)-1→T
:If V+S≧0 and V+S≦94 and W+T≧0 and W+T≦62
:Then
:V+S→V:W+T→W
:End
:End

randInt(Begin, End)は、Begin,Endの間の整数乱数を返す関数で、randInt(0,1)は、0もしくは1を返します。
2*randInt(0,1)-1 の部分で、-1, +1の整数乱数にしております。
原作ではMODを使っておりましたが、まったく同じでは芸がないので、少しひねってみました。

今回、Pxl-Change()を使って判ったのですが、不規則ながらもグラフィクスコマンドを使う所で、一部変数の値が書き換わってしまうケースがあります。CASIO BASICと同じ様な感じです。
マニュアルには「ただし、変数X,Y,T,θ,Tはグラフを描く際、更新されることがあるので、グラフ関係以外の値を代入することは避けたほうが賢明です」(ページ A-50)と明記されておりました。

原作の興味深い所としては、酔歩の「移動の等方性」を担保するため、斜め方向の移動のみを行っている所です。
斜め方向の移動は、縦、横の移動と較べると、√2倍の距離の移動になります。縦、横の移動と斜め方向の移動とでは、単位時間での移動速度が異なる事になりますが、縦、横の移動、もしくは斜め方向の移動だけならば、移動の等方性が確保されます。原作の場合、斜め方向の移動のみを行う事で、移動の等方性を確保し、更に視覚的にも面白い表現を実現しています。

直交座標系では、縦、横と斜め移動の等方性について考える事が必要になりますが、四角ではなく六角形を敷き詰めたマス目空間(Hexagonal field)では、黙っていても移動の等方性が確保されます。少し工夫をする事で、直交座標系のピクセル空間にHexagonal fieldを擬似的に表現できます。

PROGRAM:HXDRNK
:ClrDraw
:94/2→V:62/2→W
:While 1
:Pxl-Change(W,V)
:Pxl-Change(W,V+1)
:Pxl-Change(W+1,V)
:Pxl-Change(W+1,V+1)
:randInt(0,5)→D
:(iPart(D/2)-1)*2→T
:2(fPart(D/2)*2)-1→S
:If T=0
:Then
:S*2→S
:End
:If V+S≧0 and V+S≦94 and W+T≧0 and W+T≦61
:Then
:V+S→V:W+T→W
:End
:End 
 
図が必要な事もあり、詳しい内容は、いずれ折を見て述べましょうか。 
 
更に、HP Prime向けコードも。

// title : Diagonal random walk for HP Prime
// begin : 2015-08-02
// note  : 

EXPORT drunk()
BEGIN
// Clean the screen (G0)
RECT();

LOCAL i, p;
LOCAL x, y, v, w;

x := 320/2;
y := 240/2;

WHILE GETKEY() == -1 DO
  p := B→R(GETPIX_P(x, y));
  IF p<>0 THEN
    PIXON_P(x, y);
  ELSE
    PIXOFF_P(x, y);
  END;
  v := RANDINT*2-1;
  w := RANDINT*2-1;
  IF x+v>=0 AND x+v<320 AND y+w>=0 AND y+w<240 THEN
    x := x+v;
    y := y+w;
  END;

//  WAIT(0.1);

END;

//  key wait loop
REPEAT UNTIL GETKEY() == -1;
FREEZE;

END;

実行中に適当なキーを押すと、停止します。更にもう一度キーを押す事で、プログラムの終了となります。
エミュレータで動かすと「爆速」ですが、そんな時にはコメントになっている「WAIT(0.1)」を使ってみて下さい。

お次はHexagonal field版

// title : Hexagonal random walk for HP Prime
// begin : 2015-08-02
// note  : 

EXPORT hexdrunk()
BEGIN
// Clean the screen (G0)
RECT();

LOCAL i, p, d;
LOCAL x, y, v, w;

x := 320/2;
y := 240/2;

WHILE GETKEY() == -1 DO
  p := B→R(GETPIX_P(x, y));
  IF p<>0 THEN
    PIXON_P(x,   y);
    PIXON_P(x+1, y);
    PIXON_P(x,   y+1);
    PIXON_P(x+1, y+1);
  ELSE
    PIXOFF_P(x,   y);
    PIXOFF_P(x+1, y);
    PIXOFF_P(x,   y+1);
    PIXOFF_P(x+1, y+1);
  END;
  d := RANDINT(5);
  w := (IP(d/2)-1)*2;
  v := 2*(FP(d/2)*2)-1;
  If w==0 THEN
    v := 2*v;
  END;
  IF x+v>=0 AND x+v<320 AND y+w>=0 AND y+w<240 THEN
    x := x+v;
    y := y+w;
  END;

//  WAIT(0.1);

END;

//  key wait loop
REPEAT UNTIL GETKEY() == -1;
FREEZE;

END;

HP PrimeのPPL (Prime Programming Language)での注意ですが、「変数への代入には := を使うべし」です。
実は、ピクセル値の値を取得する所で「p = B→R(GETPIX_P(x, y));」とやって、かなりハマってしまいました。
これでは代入ではなく「比較」になってしまうのですが、構文上は問題がないのでそのまま実行出来てしまい、エラー発見に手こずる事になります。


小中学生の皆様はもう新学期だそうで、今更「夏休みの自由研究」でもないのですが、来年の自由研究のネタに使えるかも知れません (鬼が笑うとりますがな)。