Quantcast
Channel: 高機能電卓の情報
Viewing all 149 articles
Browse latest View live

夏休み「明け」の、電卓を使った自由研究

$
0
0
もう、夏休みも終わってしまいましたが、小中学校の皆さん、元気に新学期を迎えておられますでしょうか。いや、こんな鄙びた辺りで何か叫んだ所で、聞いてやしませんわナ。
そんな具合ですから、夏休みも終わった時期を見計らって、というわけでもありませんが、自由研究のネタになりそうな話題を少しばかり。来年の自由研究のネタにでもしてチョ。

最近のお子さんも、色々とお稽古事、学習塾に通っておられる様で、その暇を縫うように、ゲームに勤しむ日々。お疲れ様であります。疲れによく効く、Monster Energy !
最近では、ガキ共にプログラミングを教えるとかいう塾が出てきたそうで、学習塾で高度な数学のお勉強をした末、更にプログラミングまで教えるというのでありますから、何とも大変な御時世ではあります。
ソレほどまでに、教育熱心なご家庭の御子息は、高度な教育を受けて、偏差値の高い学校へと入学なされるというので、結構な事ではあります。
事ほど左様に、高度な教育を受けたお子さんは、ガキ共などと言っても、大人顔負けの知識を十全に活用する所であり、ナメた事を言わんでも、つぎの様な話題はすらすらと判るのでしょうから、余り細かい事は申しません、判らない事がありましたら、学習塾のセンセにでも聞いてみてネ。

さて、能書きはここまでにして、今回は電子工作の基本ともいうべき、コンデンサと抵抗器を直列接続した回路に流れる電流の変化を計算するという話題であります。

電卓、特に高機能電卓を用いて、数値計算をやってみようという次第。やってみよう!

コンデンサの静電容量を470uF, 抵抗器の抵抗値を100kOhmとしておきます。この直列回路に接続する電池の電圧は3Vにしておきましょうか。
すると、コンデンサ、抵抗器に流れる電流 a は、次の式で計算出来るというのです。不思議ですね。ホンマかいな !?

D*(-1/(R*C))*a + a →  a

但し、
微小時間隔  D = 1  (1 sec)
抵抗値     R = 100000  (100 kOhm)
静電容量   C = 4.7*10^(-4)   (470 uF)

初期電流   a = V/R = 5*10^(-6)

この計算式を200回ほど繰り返して計算すると、電流の変化が得られます。
計算している期間は、微小時間隔Dの200倍なので、1*200 = 200 sec程度の時間での電流の変化となります。
3分ほどで、ゆっくりと電流が低減していくので、この現象を利用する事で、簡単なタイマーを構成できます。

高機能電卓ではプログラム機能があるので、上記の手続きをプログラムで書いてもいいのですが、高機能グラフ電卓の多くは、再帰計算、 Recursive といった機能が用意されており、上記の様な漸化式を入力してやる事で、電流のグラフが得られます。
電卓の操作演習として、やって見てネ !

冒頭、スネた感じで文章を始めました。

しかし、こうした話題は、興味を持った人でないと、なかなか見たりしないでしょう。
こんな話題に興味を持つ人は、そこそこ「何について述べているのか」、それを知っているから、こんなハナシに興味があるのかと思われます。

当初、計算の背景について、事細かく述べてみようか、と思ったのですが、大方、検索によってこの記事を見つけてくるでしょうから、その時点で、計算の背景事情を述べるのは「釈迦に説法」かと思った次第であります。
ガキ共、と、口汚く言っておりますが、検索で訪れ記事を読む様な人は、恐らく、こうした計算の背景を熟知している事でしょう。ガキ共と言っても、侮ってはイケナイのだと思うのです。子供は、大人が思っているよりも、かなり色々と考えて、知っている。
そんな事で、計算の手続きを放り出す様な記事になりました。

Fourier seriesのグラフをグラフ電卓で表示する

$
0
0
Fourier seriesと言っても、一般的な手法ではなく、ここでは次の式のグラフを描てみようと。

sin(x)+sin(3x)/3+sin(5x)/5+ ...

数式処理の出来る電卓なら、無限級数の記述も出来るかも知れませんが、グラフ電卓が高機能と言っても、無限大を扱えるものは少ない。
そこで、級数の項を途中まで計算する事になります。
この項目数を気ままに設定して、グラフの形状が変化する辺りを観察するのも一興ではあります。

さて、上記の式ですが、バカ正直に入力してもいいのですが、高機能電卓の多くに、総和(∑)機能があります。これを使えば、上記の式は、こんな具合で記述できそうです。

∑(sin((2K-1)x)/(2K-1), K, 1, T)

変数Kを1からTまで1づつ増やしつつ、計算式 sin((2*K-1)*x)/(2+K-1)) の総和を求める式です。

この表式は、fx-CG50で使えるのですが、面白いのは、この式をグラフ機能で使うには、チョットばかり手間が必要なのです。
まず、∑計算を入浴するには、Optionキー、CALCメニュー、と進めますが、グラフの式入力では、CALCメニューの中に∑が出てこないのです。マイッタ。
直接、∑の式を入力できないのですが、色々と試した所「抜け穴」がありました。それは、FunctionMemoryを使う方法です。

fx-CG50などの高機能電卓では「自然数式表示」がウリになっておりますが、数式記憶の機能であるFunctionMemoryは、自然数式表示モード (Mathモード)では利用できません。そこで、SetUpからInput/OutputをLinearにしておきます。
そうしてから、上記の式を入力しておき、OptionからFuncMem (メニューの3ページ目にあります)を使って、適当な番号のFunction memoryに保存しておきます。
そして、変数Tに、予め、適当な数を入れておきます。

これで準備が出来ました。グラフ機能を呼び出し、適当な数式メモリーに、先程数式を記憶しておいたFunctionMemoryの番号を指定して、入力します。#1に記憶したならば、こんな風です。

Y1=fn 1

これでグラフを描けば、アラ不思議、Fourier seriesのグラフが描かれましたヨ !
変数Tの値を変えるためには、いちいちRun-Matrixメニューを使う必要がありますが、面白いので、やってみて頂戴 !

嗚呼ッ ! 楽しい記事でした !

$
0
0
そういや、その昔はこんな面白い製品がありました。

簡易表言語“CETL”にも対応したカシオのハンドヘルドコンピュータ「FP-200」 - Akiba Watch
https://akiba-pc.watch.impress.co.jp/docs/column/retrohard/1201811.html

当時、プログラムを作成し、電算処理という感じで、こうした製品が様々、製造されていたのですネ。
今日では、グラフ電卓の方が高性能になっておりますが、それは技術の進歩によるものですから、有り難いものであります。
しかし、BASICコンピュータからPC、そしてスマートフォンへと、ディジタル機器が次々と更新され、アプリケーションを自作せずとも十分な活用が出来る、そんな御時世でありますから、グラフ電卓なども需要が細くなりました。
時代の流れ、という事でもありましょうが、一方、プログラミング、やはり面白いんですヨ。
当方、「下手の横好き」ではあり、長いコードを書いた事はありませんが、今でもグラフ電卓とかでプログラムを作って動かしたりしております。
気軽な価格で購入できるプログラム・グラフ電卓、趣味としてオススメであります。


ちなみに、この楽しい記事には、少しだけ「?」という部分があります。

 カシオのハンドヘルドコンピュータはFP-200のみで終了し、この後はポケットコンピュータへと移行することになります。

FP-200の前に、CASIOポケコンの名機・PB-100が発売されており、PB-100の前身にあたるFX-702Pは、更にその前から販売されていたのです。FP-200から移行した訳ではありませんワナ。

HP Primeシミュレータのβ版

$
0
0
昨年の2018/12/03、CASIO fx-CG50にpython機能の追加を含むファームウェアの更新情報がアップされました。
それから1年が経とうとしており、そろそろ、CASIOから新しい話題がありそうな時節となってきております。

一方、MoHPCに、HP Prime シミュレータのβ版が登場しているという話題があり、早速試してみました。

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

βなので「無保証」ですが、最新のファームに対応しているらしく、3Dグラフも描けます。
ウーン、やっぱ、イイなぁ。実機が欲しくなっちゃったヨ !

先日、HP Prime G2がAmazon JPで40,000円を割る価格で出ておりましたが、既に業者も売り切ってしまったらしく、価格が元に戻ってしまいました。

最近の当方、グラフ電卓向けのコードを作ったりしておらず、もっぱら、グラフを描いて遊んだりばかりです。
こうした用途ならば、メモリが多いG2でなくてもいいのかな、などと思う所です。

HP Prime G1ですが、Amazon JPではスリーゲートがかなり安く扱っております。当方としては、スリーゲート推しでいきたい。何故か ? Amazonのページを見ると、なにやら「HP PPL超入門」というものを添付しておるのですネ。スリーゲート謹製なのかしらん、大変気になります。

https://www.amazon.co.jp/gp/offer-listing/B00OX59OYG/ref=dp_olp_new_mbc?ie=UTF8&condition=new&m=A34V9I8YOA1OXY

スリーゲートの輸入電卓には、スリーゲート謹製(?)の簡易マニュアル、読本が添付されているらしい。fx-CG50は、CASIOサイトから日本語マニュアルがダウンロードできるので、スリーゲートとしては扱う理由がなくなってしまったのか ?

スリーゲート謹製のマニュアル類、そこに、スリーゲートの電卓製品に向けられた愛を感じずにはいられないのです。

この記事を読まれた方で、スリーゲート謹製マニュアルをお持ちになられた方がいらっしゃるならば、レビューをお寄せ戴きたく !

С Новым годом 2020 !

$
0
0

昨年もお世話になりました。今年も宜しくお願い申し上げます。

今年はロシア語で「謹賀新年」です。web時代で、簡単に見つかりますネ。

昨年末の慌ただしい中、性懲りもなくこんな計算をしておりました。

cf. ぽてん (@potenten87) 様 tweet
数学ができないとWi-Fiに繋げないホテルがロンドンにあるって。
https://twitter.com/potenten87/status/1190161683638960130



〽ロンドン、ロンドーン ! 楽しいロンドン愉快なロンドン、ロンドンロンドーン !!
(歳がバレますなァ)

この式、計算すると円周率piになるそうで、電卓でもって早速やってみた次第。



Numworks web simlatorの結果



HP Prime β版simulator




数値積分をやってみると、πに近い値になるようです。

Numworksのweb sim (https://www.numworks.com/simulator/) はJavascriptで実現されているそうで、もしかすると実機とは異なる答を出すかも知れません。

また、HP Primeのシミュレータはβ版なので、結果はこんな値でした。
XCASが使えるのですが、やり方、よく判らんですよ。申し訳ない。

量販店に行き、店頭のfx-CG50でも試してきました。
すると、CG50ではズバリπを返しますネ ! これはオモシロイ。

ただ、角度モードがRADになっている場合に限るようです。

それは、数値積分を愚直にやっていて、RADモードにした際の計算誤差がπに近いからなのだろうか、と想像します。CASIOの数値表記機能がここで威力を発揮したのでしょう。

計算の結果がπになる、ちうのは、上記のTweetをみていくと、色々出ております。奇関数、偶関数んて、すっかり忘れておりましたヨ。オツムの足りない当方なので、久しぶりに筆算をして、ようやく納得がいった次第です。今時の若い人も、こんな計算をして大学受験に備えておるのですが、大学出てしまうと、すっかり忘れてしまう人も多いかも ? (いや、ソレは当方だけなのか ?)

 

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

$
0
0
まずは、こちらの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;



4>
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しかないのかなァ ?

新型肺炎禍 ...

$
0
0
新型肺炎の蔓延を受け、なるべく外出をしないように、との事です。

海外では、こんな話題があります。

Texas Instruments、COVID-19で自宅学習を余儀なくされている学生を支援するため、グラフ電卓アプリ「TI-Nspire CAS for iPad」などを一時的に無料に。 - APPL CH
https://applech2.com/archives/20200321-texas-instruments-ti-nspire-cas-for-ipad-mac-free.html

TIはアメリカでグラフ電卓のシェア#1なので、こうした事をしております。
CASIOも負けずに、こうした取り組みをしております。

基本操作から例題による活用まで! 動画でわかるグラフ関数電卓 - casio.jp
https://web.casio.jp/dentaku/fxcg50/movie/?topics

こうした企業努力は素晴らしいものです。

さて、当初は「検査など不要」としていた厚労大臣でしたが、今日では、多くの自治体で新型肺炎の検査をしているとか。

東京都のバヤイ、2020/04/12の感染者数は197人となっております。

cf. 都内の最新感染動向
https://stopcovid19.metro.tokyo.lg.jp/

しかし、検査した人数は344人、との事。エエッー、少ないじゃん !!

当方、高機能電卓を使っておるので、簡単な計算をしてみましたヨ、ウヒョヒョ。

検査数に対する感染者の割合、という事で、こうした場合には「母比率の推計」という機能を使います。検査総数 n=344, 感染者数 x=197, 信頼区間 C=0.99 として計算すると、

hat p = 0.57267
0.5039 < p < 0.6413

となります。自覚症状があって検査に来ている人の、かなりの割合が陽性となっているらしい。

東京都の検査数、実際にはかなり少ないものですが、それもそのはずで、

(注)医療機関が保険適用で行った検査は含まれていない

なのだと。一体、誰を調べているのか ? 自費で検査した人だけなのか ?

医療機関の検査実数が上がってこない状況で、医療現場の混乱は伝わって来ない。
現実には、感染爆発が進行しているのかも知れません。

(ヤメては居りませんのヨ)

$
0
0
何か、書くことも思いつかず、まずは消息ポストです、ハイ。
申し訳ない。

以上

「ヨシッ、解った !?」検査の確率 - 夏休み「明け」の自由研究

$
0
0
残暑厳しい折、お見舞い申し上げます。

自由研究のネタ探しに来られたお子さん、今年の夏休みはコロナウィルス感染症蔓延のため、早々にお休みとなって、夏休み本番はかなり短いものとなってしまった様です。

有名どころお医者さんを中心に、コロナウィルス感染のPCR検査は不要という論調でありますが、その辺りを深く考えるため、PCR検査などの検査について、少し調べてみました。

PCR検査などには、「感度」、「特異度」というパラメタがあるらしい。

+ 「感度」  実際に感染している人の検出の率 (a としておきます)
+ 「特異度」感染していない人の検出の率 (b としておきます)

感度は、実際に感染している人が10人いたとして、その内、どれだけの人が「感染している」事を検出できるか、という割合なんだそうです。
例えば、感度が70%とすると、10人の感染者の内、70% = 7人しか検査で検出できない、ということです。
これは、10人の感染者がいた場合、感度 70% では、3人の取りこぼしがある勘定です。この取りこぼしの事を「偽陰性」と言い、偽陰性の割合は「偽陰性率」ですから、

  感度 + 偽陰性率 = 100 %

になります。

特異度は、感染していない人の内、どれだけの人が「感染していない」事を検出できるか、という割合だそうです。
特異度が90%とすると、10人の感染していない人の内、検査によって感染していないと検出できる人は、90% = 9人、となります。
特異度90%ならば、10人の内、1人が「取りこぼし」となり、その取りこぼしの人は、実際には感染していない(陰性)にも関わらず、検査では陽性=「偽陽性」となってしまいます。

  特異度 + 偽陽性率 = 100 %

感度、特異度、などと書いていると、キーを打つ回数が増えてしまうので、ここからは感度の代わりに a 、特異度の代わりに b と書きます。また、パーセント表記は、これも混乱しやすいので、100 % を 1 とした表記で進めていきます。

  感度  (a) + 偽陰性率 = 1
  特異度 (b) + 偽陽性率 = 1

  偽陰性率 = 1 - 感度  (a) = 1 - a
  偽陽性率 = 1 - 特異度 (b) = 1 - b

となります。

ここまでが、検査についての予備知識です。
今般、流行しているコロナウィルス感染症ですが、感染の割合が、よく判っておりません。
そこで、取り敢えず、感染している人の割合を、0.1 % としておきます。

この割合で言えば、例えば、10000人ならば、感染者は10人くらいになります。感染していない人は、10000-10 = 9990 人です。

この10000人に対して、感度 a = 0.7, 特異度 b = 0.9 の検査を行うと、

感染者 10 人 :
  検査陽性 = 10 * 0.7 = 7 人、  検査陰性 = 10 * 0.3 = 3 人

非感染者 9990 人 :
  検査陽性 = 9990 * 0.10 = 999 人、 検査陰性 = 9990 * 0.90 = 8991 人

となるのだそうです。

実際に感染していない人でも、検査で「陽性」となってしまう人が999人も出てしまう、PCR検査はむやみに行うべきではない、というのが、有名なお医者さんの意見だそうです。

有名どころのお医者さんの説明は、つぎのサイト様の記事で、色々と紹介されております。

cf. ベイズの定理を悪用し、コロナウイルスPCR検査の有用性を否定する医師達 - 臨床獣医師の立場から
https://tatsuharug.com/abuse-bayes?fbclid=IwAR0WTAjomzGlZWvilmT_XalTqlNNlJ3Y4R-nPJKu7-LFvl9sdXEFNUiRcn4#i-8

上記の記事によりますと、有名どころのお医者さんの多くは「PCR検査の特異度は、90%、99% にとどまる」としているのだそうですが、
記事を書かれている方は、「PCR検査の特異度は、(90%、99% ではなく) 99.99 % 以上」と述べておられます。

素人目には、99%も99.99%も、違いがある様には思えないのですが、果たして、実態はどうなのか ?

非感染者で検査陽性となる人については、つぎの計算式で計算できます。

  (非感染、検査陽性数) = N*(1-p)*(1-b)

  N ; 検査総数
  p ; 感染者の存在確率
  b ; 検査「特異度」

感染者の存在確率、特異度が低いと、 この値は大きくなります。
そして、特異度の値の代わりに「偽陽性率」(= 1-b)でみると、より判りやすい。

+ 特異度 b = 0.90 (90 %) ならば、偽陽性率 1-b = 0.10
+ 特異度 b = 0.99 (99 %) ならば、偽陽性率 1-b = 0.01
+ 特異度 b = 0.999 (99.9 %) ならば、偽陽性率 1-b = 0.001

特異度の精度が向上するだけで、偽陽性率が劇的に下がります。
偽陽性率が劇的に下がれば、偽陽性者の数は十分下がり、有名どころのお医者さんが言っている「検査大パニック」は起こらない。
上記のサイト様では、この事を丁寧に述べております。

PCR検査、今は検査数が大分増えてきて、感染者も多く確認出来ております。
しかしながら、PCR検査、多くの場合「自費」で行うらしく、健康保険も使えないので、かなりの額を自腹でやらんとアカンとか。
また、市中では相変わらず「感染リスク」があるので、検査で陰性と結果が出ても検査実施機関では「陰性証明書は出しません」。
海外では、PCR検査が安価に実施出来るというのに、本邦では、健康保険の適用外で「自費」。しかも、有名どころのお医者さんは「タダの風邪なんだから、家で寝てれば治るっぺ。だから、検査もせんでエエ。下手に検査で来られても、検査大パニックだかんネ」というつもりらしい。

こうした(特異度の余り高くない)検査について、面白い話題があります。

cf. 【受験数学】条件付き確率の公式とイメージを徹底解説!!【確率】(例題つき) - hmorinari's diary
https://hmorinari.hatenablog.com/entry/2019/01/18/224939

このサイト様によると、1回の検査で陽性の結果が出ても、感染している確率は低いものだが、その検査陽性者集団に再検査すると、さらに確度が高くなると見込まれるらしく、「感染している確率が低いとは言え、検査自体が無意味ではありません」と述べています。

感染者の存在確率 (「事前確率」というそうです)を p としておきます。
サイト様の説明によると、「検査を受け、陽性という結果になった人が、ホントに感染しているのか」その確率 p'は、

  p' = (p*a) / ( (p*a) +  (1-p)*(1-b) )

で計算できるとのこと。
但し、
  p' ; 検査の結果、陽性だった人がホントに感染している確率
  p ; 感染症に罹患している、平均確率
  a ; 検査「感度」
  b ; 検査「特異度」
です。

サイト様の例では、
  p = 0.001 (0.1 %), a = 0.95 (95 %), b = 0.98 (98 %)
で計算しているので、検査を受け、陽性の結果になった人(サイト様では「A君」としております)が、ホントに感染している確率は

  p' = 0.04538 ... (4.538 %)

ですが、これは、同時に、検査で陽性の結果になった人々の感染確率=(検査陽性集団の)事前確率、とも言えるものです。
そこで、A君を含めた検査陽性者集団を再検査すると、

  p'' = 0.693... (69.3 %)

になります。再検査で陽性になった人々に、再再検査をすれば、

  p''' = 0.9907... (99.07 %)

という確度になります。

こうした、ちょっとした計算式の繰り返し適用は、フツーの電卓で行うには少々手間。一方、表計算ソフトで行うのは「牛刀を以って...」という例えの様に大掛かりではあります。
そこで、高機能電卓を用いるのは、どうでしょう。

感度 a と、特異度 b について、ある関係 (a+b > 1)を満たしていれば、多重検査による確度の加速は達成できます。

今度は、つぎの例でやってみました。
  p = 0.001 (0.1 %), a = 0.7 (70 %), b = 0.90 (90 %)

   0 回め   0.0069582
   1 回め   0.0467557
   2 回め   0.2555886
   3 回め   0.7061764
   4 回め   0.9438953

ここまで特異度が低い (偽陽性度が高い)場合、確度の加速を目指すとなると、再検査過程が多数回必要になります。実際、医療の現場で、こんな悠長な事をしているのだろうか ? やはり、多くの有名どころのお医者さんが申しておる、特異度 90〜99 % ちう値は、実用的ではないのだろうと。
実際、検体を放り込むと、あとは自動で検査をしてくれる医療機器とかあるそうで、こうした機器に採取した検体を放り込んでしまえば、検査過程でのコンタミ (検査過程での検体の汚染、コンタミネーション)も無さそうです。コンタミがなければ、特異度 99.99%以上、とか達成できそうです。

さて、実際はどうなのでしょうか ?

虚礼廃止 2021

$
0
0

2020年は、新型感染症が猛威をふるう、災厄の歳となってしまいました。
一方、電卓の方面では、fx-CG50のmicro pythonがバージョンアップするなど、ささやかながらも喜ばしい話題もありました。

2021年は、出来ますれば喜ばしい歳となりますよう。

実は、この話題を準備しているのは、2020年末の事であります。

先日、CASIOが「特定業務向け専用電卓」という電卓をリリースしました。
特定業務向けのアプリケーションが盛り付けられた電卓です。

興味深いのは、ベースとなる機体が共通している感じで、適用業務アプリケーションを盛り付けてカスタマイズできる、そういう共通基盤製品なのではないか、と思われる所です。

目下、ソリューションとしては、3つの業務向けアプリケーションが提供されているのみですが、大きな可能性を秘めているのではないか、と、少し期待しております。

CASIOは「余り計算電卓」を世に問うております。
これなどは、運輸業務の会社から「余り計算が簡単に出来る電卓を発注したい」という相談があって、数量が足りないため無理と判断したとの話から、余り計算電卓という需要があると判断、専用製品を開発した、という事です。
そして、余り計算電卓は、様々な分野で利用される所となり、隠れたヒット商品となったのですが、今般の特定業務向け専用電卓は、余り計算電卓をよりカスタマイズ出来るよう計画されたものなのではないか、と。

専用業務電卓のプラットフォームを準備し、業務向けカスタマイズ、という商売を目指しているのではないか ?
なかなか面白そうです。

そういや、以前のCASIO関数電卓には、電気計算特化型製品がありました。
コイルやコンデンサなどのキーがあって、インピーダンス計算を効率良く出来たらしい。面白そうです。
しかし、今日の関数電卓は複素数の計算能が準備されているものが多く、インピーダンス計算などもある程度出来てしまう。

驚いてしまったのが、fx-CG50の行列計算機能です。複素数行列が平気で扱えるのですね。簡単な回路網ならば、インピーダンス計算も十分こなしてくれそうです。

さて、micro pythonって事でいうと、Numworks電卓が猛威を振るっております。Numworks電卓も、なかなか興味深いものです。
Numworks電卓は、ファームウェアからオープンソースとなっていて、既に電卓OSを置換するなどの試みもあります。中身をいじくり回したい人には「垂涎のおもちゃ」として注目されているようです。

当方、一頃はHP50Gのシリアルとかに外部センサー機器を取り付け、データセンシング/プロセシングなどが出来ると面白かろう、などと夢想しましたが、Numworks電卓ならば、そうした応用も十分に可能なのかも知れません。
一方、昨今はArduinoやRaspberry Pi, micro:bitなどのマイクロコンピュータボードが安価に普及しつつあり、センサー接続からプロセシングまで、十分に行える様になっております。
高機能電卓としては、ハードウェアの拡張とセンシングデータ処理などの領域までカバーする必要は無くなってしまった。
そのため、TI電卓もシステム・ハッカブルではなくなったのかも知れない。

高機能電卓の発展の余地は狭まった、のですが、であればこそ、本来の「計算業務」を、より進めて行くのが「本道」なのかも知れません。

そんな思いで、最近は電卓で何が計算できるのか、その研究を地道にしているのであります。
「原点に還る時期」なのかも知れません。

2週間遅れの「バレンタインデー」

$
0
0



先日、こんな情報をみたのでした。

https://twitter.com/NumWorks/status/1360951932970409987

話によると、つぎの様な数式でグラフが描けるのだとか。

  (sqrt(cos(x))*cos(400*x)+sqrt (abs(x))-0.4)*(4-x*x)^0.1

cf. Google ‘Heart Graph’: Geeky Surprise Will Bring You Joy On Valentine’s Day (PICTURES, VIDEO)
https://www.huffpost.com/entry/google-heart-graph-valentines-day_n_1276391

で、HP Primeシミュレータでやってみましたよ、久しぶりに !


そこそこの絵が出て来ます。一部、塗りつぶしがうまく行かないのですが、ズームで細部を確認戴くと、理由が判るものと思います。

数式の (4-x*x)^0.1 の部分から、値域 {x | -2 < x < 2} で実数値になりますネ。
また、cos(400*x) の部分で塗りつぶしを実現している様です。

しかし、よくもまぁ、こんな数式があるもんです。驚いちゃったよ。


fx-CG50で「2週遅れのバレンタインデー」

$
0
0

先日のハートカーブのグラフィクスを、量販店に行った折に、店頭のfx-CG50でやってみました。
しかし、グラフ機能で描こうとしても、なかなか思うように行きませんネ、コマッタ。

こうした際には、pythonでプログラムを書け、となりそうですが、店頭の試用機のOSは更新されていないので、python 使えません。「バカ、スクリプトを書くヤツがいるか。pythonは最後の武器だ」

そこでグラフ機能で描く方法を模索した所、ようやく描くことが出来たのでした。

標準のグラフ機能で、Functionを描画形式として行うと、うまく行かない。何故か ?
Function形式では、x軸の増分が1ドットおきに固定されているからです。
しかし、件のハートカーブ式では、1ドットよりも細かい増分で描かないと「塗りつぶし」が現れない。

この限界を突破するには、裏技っぽいですが、FunctionではなくParametric 形式で表示を行います。
Parametric形式で描図を行うと、媒介変数 T の変域と増分が指定できます。

ハートカーブの場合、(4-x^2)^0.01 という項がある事から、-2〜+2の範囲を越えると実数ではなくなるので、グラフに表示できなくなる事が予想されます。

そのため、{ T | -2<=T<=2 } で描いてやれば、ハートカーブが現れるでしょう。
また、媒介変数 T の増分は自由に設定できますが、余り小さいと、その分、計算に時間が掛かります。
店頭で試した際は、0.0025 (2.5E-3) で試した所、十分な図形が得られました。

画像が掲載できませんが、fx-CG50をお持ちの向きはお試し戴き度。

HP PrimeのCASでお遊び

$
0
0

HP PrimeのCASは「XCAS」を使っているそうで、独自スクリプトのほかに、python文法に準じたスクリプトを実行できる、との事。
そこで、簡単なスクリプトを作成してみましたヨ。

参考にしたのは、つぎのTweet。

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

少々古いものですが、色々と研究して、どうにか再現できた次第。

使い方

1. HP Primeのプログラム・エディタで、適当な名前でファイルを作成します。この時、CASのチェックボックスにチェックを入れるのを忘れずに。
2. プログラムを実行します。しかし、この時点では、何も実行されません。
3. CASを呼び出し、iter_cos(20) と入力して実行します。

コード解説

HP PrimeのXCASではPPLのグラフィクス命令が使えるので、こんなコードが動くのですネ。
また、XCASのコードなので、頭と尻に#CAS, #END というタグが付いておりますが、同時に、ファイル名として準備されるスクリプトヘッダは、必要無さそうな感じなので削除しております。
スクリプトを自動実行できない所はありますが、グラフィクスのコードも動くので、そこそこ楽しめそうです。


コード

#cas

def iter_cos(n):
  width = 320
  height = 240
  for k in range(height):
    for j in range(width):
      x = j/width*10.0-5.0
      y = 5.0-k/height*10.0
      z = x+y*i
      l = 0
      while l<n and abs(z)<50:
        z = COS(z)
        l=l+1
      col = rgb(l/20*255,0,0)
      PIXON_P(j, k, col)
  WAIT

#end

HP PrimeのCASで円周率の計算

$
0
0

HP PrimeのCASで円周率の計算をやってみました。

pythonでは多桁整数の計算が出来ますが、PrimeのCAS・XCASでも同様なので、これを利用してMachinの公式による円周率計算を行った次第。

つぎのプログラムをHP Primeのプログラムに書き込み、実行後、CASに移動して

m(100)

の様に打ち込んでやります。すると、円周率の計算を行って、結果が出てきます。

項の計算で末尾まで行っているわけではないので、100と入力しても、100桁の精度があるのかはわかりません。100桁の精度が所望の場合には、120とか、大きな値を設定して実行するとよいと思います。
また、このプログラムもモノホンのpythonで実行できると思います。


#cas
def  machin(n) :

  s = 0
  t1 = 10**n // 5
  t2 = 10**n // 239

  f = 0

  for i in range(n):
    d = 1+2*i
    if f == 0 :
      s = s + t1//d * 4
      s = s - t2//d
      t1 = t1 // 5 // 5
      t2 = t2 // 239 // 239
    else :
      s = s - t1//d * 4
      s = s + t2//d
      t1 = t1 // 5 // 5
      t2 = t2 // 239 // 239
    f = 1 - f

  print(s*4)

#end


今こそ、fx-61f の様な製品を欲す !

$
0
0

個人的に随分前から、少し気になっていたのが「CASIO fx-61f」というプロ電です。

fx-61f は、コンデンサやインダクタの記号キーが用意され、イムピーダンス計算を手軽に実行できる、今日としては「珍品」に属する製品ではありました。なので、今日に至るまで、その後継機種は存在しない模様です。

しかし、CASIOの電卓カタログに登場した時分、大変に面白いモノが出ていたのだと、感銘したのを思い出します。

今から思うに、結構「志」が高かったのは、プロ電として、30ステップのキーストローク言語のプログラミングが使用できたのです。また、電気計算に特化した数式ライブラリを持っていて、固定計算はライブラリ機能で十分、更に、問題解決の手段としてのプログラム機能が利用できたのです。

残念ながら日本語マニュアルPDFは入手できませんが、英語ならば、つぎの情報源が大変詳しいので、御一読戴きたく思います。

cf. Home Other fx series The Formula series fx-61f - ledudu.com
https://casio.ledudu.com/pockets.asp?type=550&lg=eng

このfx-61fの注目点としては、やはり「イムピーダンス計算機能」です。
これは、内部的に複素数計算をイムプリメントしたからこそ、実装できたのであります。
複素数計算機能を「チョット工夫でこのうまさ」で、イムピーダンス計算に応用した、その製品企画は、今日的にも十分刮目するところであります。

また、当時のプロ電としては、30ステップのキーストローク・プログラムが出来ただけでも「儲けもん」でした。
この頃には FX-501P, FX-702P などの高級プロ電、BASICポケコンも登場していて、プログラム容量などは比較になりませんが、価格帯が違います。確か、FX-501Pは29,800円、FX-702Pは39,800円くらいではなかったか ? それに較べ、fx-61f は 9,800円くらいだった様に記憶しています。
当時の半導体技術としては、価格性能比という事で十分な棲み分けがあったのですネ。

fx-61fは、製品企画として結構注目がされたのではないか、と、密かに思う所です。
それは、関数電卓として「一通りの関数計算が出来れば十分」という御時世に、敢えて「電気計算専用機」という企画を世に問うた、そこを評価したい。この企画の流れは、今日では 土木計算専用機・fx-FD10 proへ至っている、そんな風に思えてならない。更には、栄養士、看護師、薬剤師向け専用電卓というソリューションにも連なっている、と。

流石に今日「fx-61fヲ復刻セヨ」とは言いません。
それは、今日的にはもう少し機能を盛り込める筈だからです。
例えば、複素数計算能ですが、当時のfx-61f では四則演算と直交・極座標変換くらいの機能しかイムプリメントされて居りません。この辺り、今日的には対数・指数関数、三角関数程度まで複素数計算機能の拡張がされるとウレシイ。
更に、プログラム機能、その容量はもっと拡充して欲しい。それに伴い、キーストローク言語を更に拡充、プログラム管理機能まで導入されるとタノシイ。
そして、固定計算式ライブラリはもちろんですが、プログラム機能と共にSolver機能もあると便利です。
たしか、fx-61fと同じ様なハードウェア製品に、複素数計算能は無かったものの、キーストローク・プログラムを関数式とした、数値積分機能を持った製品があった、と記憶しております (型番失念)。
この辺り、HP15Cの数値積分機能とSolver機能を彷彿とさせるものですが、プログラム機能を数値積分やSolverで利用できる、というのは、今日的プロ電に必須の項目、といっても過言ではないでしょう。

もちろん、普通の関数電卓、グラフ電卓でも、イムピーダンス計算程度の事は十分こなせます。
しかし、イムピーダンス計算専用機は、言わば、かなりEducationalなものでもあります。専用数式ライブラリを持ったり、イムピーダンス計算に習熟させるなどの「効用」があります。こうした専用ツールを使い込む事で、電気回路計算の知見を涵養する、という事を切に望むものであります。

目下、高機能電卓、グラフ電卓は、それこそ教育市場へ大きく舵を切っているのですが、他の関数電卓、それはプロツールとしての座を守ると言っても、専門に特化しているでもなく、Generalな対応のまま、というのが少しだけ口惜しい、そんな事を思うのであります。
土木計算向けfx-FD10 proの様な専用電卓を世に問うたCASIOならではの製品企画に期待し度。


HP Prime CAS でやってみた

$
0
0

こんな話題をみつけました。

cf. https://twitter.com/dentakuin/status/1145548793527459840

陰関数表示のグラフ描図との事です。

以下のコードは、sin(x^2)+sin(y^2)>=1 を描く、CASのpythonコードの例です。


#cas

def sinsqs() :
  wi = 320
  he = 240
 
  Xmin = -6.4
  Xmax =  6.4
  Ymin = -4.8
  Ymax =  4.8
 
  for k in range(he) :
    for j in range(wi) :
      x = Xmin + (Xmax-Xmin)*j/wi
      y = Ymax - (Ymax-Ymin)*k/he
      if sin(x**2)+sin(y**2) >= 1 :
        col = RGB(255,0,0)
      else :
        col = RGB(255,255,255)
      PIXON_P(j,k,col)
  WAIT

#end


仰るとおりでございます ...

$
0
0

https://twitter.com/dentaku_sister/status/1380909436592480262
https://twitter.com/dentaku_sister/status/1382660888658792449
そうなんですヨ。当方、オツムが弱いもんで ... 。

https://twitter.com/dentaku_sister/status/1382962907936301060

Mathematica, 高いしィ !

https://twitter.com/dentaku_sister/status/1382577833436860420
仰る通りです。「この世に果たしてロマンはあるか、人生を彩る愛はあるか」(「ジェームス三木のブラックジャーック」より)。
PCの普及した今日、スマートフォンでもCASが利用できる中で「電卓にロマンを求めるのは間違ってる」のではあります。
でも、当方、コレくらいしかできんのですよ、申し訳ない。(余計なお世話か)

https://twitter.com/dentaku_sister/status/1382789203453378565
HP、PC部門も分社化しております、大きくなりすぎちゃったので、改革、分社化は世の習い ... 。

https://twitter.com/dentaku_sister/status/1382283551299629058

なのかも知れません。だから、どうしたの ? CANON, CASIOの電卓も海外で製造しているし、どこで作れというのか ?

https://twitter.com/dentaku_sister/status/1380456202836975622
キツイなァ ! 今時はWindowsもブートループするとか ... 。

HP Prime CASの計算の数値範囲

$
0
0

HP PrimeのCASは色々と楽しく、ネットで見掛けた問題を幾つか解くのに使ってみました。

1. x^sqrt(x) = x*sqrt(x)

Can you solve this rational equation ?

cf. https://www.t-3.com/thinking/brilliant-orgs-brilliant-crm/

CASで

fsolve(x^sqrt(x)=x*sqrt(x), x)


と入力します。すると、一度、こんな警告が出ますが、

ENTERキーを押して送ると、[1, 2,25] と、答えを返します。ウマイッ !

2. x! = (7!)! / 7!

what is x ?

cf. https://sites.google.com/a/g.coppellisd.com/coppell-ib-math/math-sl/topics---sl/probability/counting-principles

これは、すんなりと解けるものではなく、別に色々とやって答が判明していたので、その検証に使おうとしました。

答は x=5039 となるらしい。PCで動くmaximaで手当たりしだいに試し結果を得たですが、検証をHP PrimeのCASで出来ないか、試した次第。

(7!)!/7!-5039!
    undef

所が ... 計算できまへん。undefとなってしまいます、アカン。

では、何処までの階乗が計算できるのか、調べてみました。どうも、1006! までは計算できますが、1007! になるとお手上げです。ウーム。

ちなみに、1006! がどんな数値なのか、そこを見ておこうと思います。
整数では結果が得られますが、結構桁数があります。浮動小数点表記だと、どうなるのか ?

HP Primeの浮動小数点表示は、10 E 500 以上でエラー、もしくは Inf となります。1006! は、この範囲にはないでしょう。そこで、対数を取って階乗を計算し、それを浮動小数点表記にする、という作業を行います。

log(1006!) の計算
ΣLIST(MAKELIST(LOG(X),X,1,1006,1))  Shift+ENTER (概数計算の入力)
    2585.61374471
これより、1006! = 4.10908107239 E 2585 と概算されます。
(10^0.61374471 = 4.10908107239 ですネ)

log(1007!) の計算
ΣLIST(MAKELIST(LOG(X),X,1,1007,1))  Shift+ENTER
    2588.616774418
これより、1007! = 4.13784463462 E 2588 と概算されます。

浮動小数点数は10E500まででしたが、整数は、この程度まで計算してくれる模様。
そこで、限界を調べるべく、電卓のキー (実際にはシミュレータのボタン)を叩きまくり、つぎの様な値までは扱えるらしい事が判りました。
3605227827*10^2579 = 3.605227827 E 2588
そして、この整数は、おそらく2進数integerで内部的に保持しているであろうから、何ビットで表現できるのか、と考えてみました。

2を底とする対数を取ったりしてみると、2^8599 が3.605 E 2588 に近い値となる様子。
HP Prime CASでは、2^8599以上の整数値は扱えないらしい、と考えられます。

所が、こんな結果が !
s=2^8598
    1802613913 ... 2262841344 (途中省略の表記です)
s*s
    undef
ここまでは当然ですネ。
s=2^8597
    9013069568 ... 1131420672
s+s
    1802613913 ... 2262841344
s*4
    undef
2進数的に1桁落として加算します。ここも十分理解できます。
s+s+s+s
    3605227828 ... 4525682688

ムムッ !? コレはオカシイ、undefにならんじゃないの !!


調子に乗って、64回加算を行いましたが、一応結果が得られました。
加算の処理が簡易だからなのか、回数を増やしても、ある程度ならば計算してくれる様です。

こんな具合で、整数の場合、3.6 E 2588 程度まで計算してくれる事が判りました。
欲を書くと、もっと長い桁数の整数計算が出来ると良かったのですが、普通の関数電卓では、ここまで扱えないのが当たり前なので、コレ以上の計算の需要はPCの利用を、という事ですネ、ハイ。


他人のTweetを肴に

$
0
0

https://twitter.com/maiko_tabibito/status/1395653313459277825

TI-83 Premium CEとNumworks電卓、どちらがいいのか ? とのTweet。

TI-83 Premium CEなんてぇえのがあるとは、寡聞にして知らず。勉強になります。
計算機能は非常に素晴らしいんですよ、TI製品。
TI-83 Premium CE、おフランスで流通しているらしい。Python が使えるっぽい。
しかし、おフランスで出ているだけあって、銘板もおフランス語 ... 。

https://education.ti.com/fr/produits/calculatrices/graphiques/ti-83-premium-ce-edition-python

おフランスを中心にオイローパを席巻しているNumworks対抗すべく計画された、ちう事で出たのだろうか、と。

まぢめなハナシ、チョット検討してみました。

+ TI-83 Premium CE edition python

TIの独自moduleにより、各種のdistribution PDF/CDFが計算可能
STEM対応で、TIの供給するロボットカーに接続、pythonプログラムによる制御
プロセッサはembedded Z80で、もしかすると、Z80電卓で開発されたゲーム、Ion OSとかが動くのかなぁ ?

+ Numworks

最近のN110はメモリも大きいので、XCASも使えるとか (Omega OSを使うとラクなんだそうですネ)
ファームウェアが時折更新される。ファーム更新はPCにリンクソフトをインストールする必要が無く簡単
pythonスクリプトの外部ストレージへの保存は、困難

どっちもいいのです、甲乙つけがたい。当方だったら、両方欲しい ! でも、ゲルピンなんだよなぁ。

ソコは、実際に使うヒトが選ぶ必要があるのですが、「子用リセ」って何じゃろ ? 「正しい日本語」て、外国語もようけ話せんオッサンはついて行けんですよ。どうも「お子さんのガッコ用」ちうことなの ?

海外のガッコでグラフ電卓を使う必要があり、何を買い与えたらよかんべ、という話なのだと思うのですが、
そのガッコで、グラフ電卓をナニに使うのか、ソコをはっきりさせておかなアカンのですネ。
4年毎に海外を転々とするノマドの様な暮らしをされておられる様ですから、外野が何をかいわんやではあります。

猛暑で足りないオツムが茹で上がっており

$
0
0

 blogにloginしておりませんでした。申し訳ない。

 ネタにも詰まっており、書くこともおまへんがな。これじゃTweetだよ、トホホ。

 

Viewing all 149 articles
Browse latest View live