2021年8月22日日曜日

五輪の夏、DELTAの夏 - 夏休みの自由研究 2021年

目下、新型感染症の猛威は留まる所を知りませんが、今日流行しているものは「デルタ株」という新しい型らしい。

ref. 埼玉県 インドで確認「L452R」変異ウイルス 陽性率85.4%に - NHK news https://www3.nhk.or.jp/news/html/20210811/k10013195471000.html

東京都は、新型肺炎の感染についての情報を公開しており、 中には、デルタ株についての検査報告もあがっております。

ref. https://github.com/tokyo-metropolitan-gov/covid19/blob/development/data/variants.json

 

日付デルタ株件数全件数
2021-04-30076
2021-05-031121
2021-05-102103
2021-05-178139
2021-05-243372
2021-05-3115309
2021-06-07321002
2021-06-141271516
2021-06-212611770
2021-06-285022336
2021-07-059343050
2021-07-1219484220
2021-07-1936745688
2021-07-26998312222

このデータを使い「不要不急の外出」を控えつつ「夏休みの自由研究」をしてみましょう。

上記の情報ですが、検査数が一定していないので、全体の感染数に対するデルタ株の割合を調べてみます。 グラフ電卓の散布図プロット機能を使うと、デルタ株の割合の時系列変化がよく判ります。 デルタ株の割合のグラフを描くと、どうも「ロジスティック関数」のようであります。

ref. ロジスティック方程式 - Wikipedia https://ja.wikipedia.org/wiki/%E3%83%AD%E3%82%B8%E3%82%B9%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E6%96%B9%E7%A8%8B%E5%BC%8F

最近のグラフ電卓には「ロジスティック回帰」の機能がありますから、これで調べてみるとよさそうですが、古いものには実装されておりません。

そこで、古い電卓でも分析できる様に、作業してみました。

ロジスティック方程式ですが、「全体の割合」という事で限定すると、つぎの式で記述できます。

これを書き換えると、

となって、指数回帰の機能で回帰分析出来そうです。

実際にロジスティック回帰を実施するには、日付を週番として独立変数x に、「デルタ株」件数/全件数を従属変数yとしますが、従属変数yを(1-y)/yと変数変換して回帰分析を実行します。

デルタ株件数が0になっている所では、この変数変換が計算できませんから、ごく小さな値を設置して、計算エラーを回避するという工夫が必要になります。

こうして指数回帰を実施すると、つぎの式が得られました。

2101.37490861*0.480788843194^X 

 

もちろん、この式は指数回帰の式でありますから、これをロジスティック回帰の式に書き換えると、

1/(1+2101.37490861*0.480788843194^X)

が得られます。

グラフを描くと、こんな具合になります。



ここでは、HP Prime シミュレータを利用しましたが、HP Prime には、ロジスティック回帰の機能がありますネ。 しかし、ロジスティック回帰に特化した計算方式ではないらしく、上記のデータで実行しても、うまいこと計算してくれません。シクシク。 そこで、今回のような姑息な手段を講じたのですが、お手持ちの高機能電卓でお試し戴く際の参考にして戴きたく思います。

デルタ株、猛威をふるっており、全国的にも感染者数が激増しております。

接種をしたからといっても、まだまだマスクは手放せない模様。くれぐれもお気をつけて頂きます様。

 

2021年8月19日木曜日

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

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

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

 

2021年5月25日火曜日

他人のTweetを肴に

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年毎に海外を転々とするノマドの様な暮らしをされておられる様ですから、外野が何をかいわんやではあります。

2021年4月17日土曜日

HP Prime CASの計算の数値範囲

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の利用を、という事ですネ、ハイ。


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

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もブートループするとか ... 。

2021年4月11日日曜日

HP Prime CAS でやってみた

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

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


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

個人的に随分前から、少し気になっていたのが「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ならではの製品企画に期待し度。