fx-CG50 の X post がやたらと増えていたのですが、殆どが、以下の記事を引用したものでした。
ref. 第1回 Python電卓を使ってみよう Pythonが動くリアル電卓「fx-CG50」
https://news.mynavi.jp/techplus/article/calcpython-1/
大手web媒体の連載で、読み応えもありそうですが ... 残念な事に、メール登録しないと読めない。「一見さん、お断り」なのネ。どうせ広告なんだから、吝い事を言いなさんな。
そんな"広告"の中でも、以下のpostは、やす親分の引用でしたネ。シロン ( @_Chiron__ ) 様、多謝であります !
ref. https://x.com/_Chiron__/status/1860534381561151816
で、CG50の後継機種と目されている、fx-CG100の話は、日本では全く聞かれないのでありますが、最近、妙な事を考えておりまして。
fx-CG100では、Add-Ons や CASIO BASIC などが、対応しなくなりそうという事らしい。ストレージも削減されているとかで、どちらかと言うとfx-CG100より「後退」していそうな印象。
他方で、(Sentaro様曰く、CASIOが追っかけている ?) TI の電卓では、upython 対応が徐々に進められていて、最近では、micro:bit を接続して使用する、などの機能が提供されていると。
この micro:bit 接続機能ですが、TIの電卓では以前から、センサーキットやRoverキットなどの接続機能があって、そうしたハードウェア拡張の一環、という位置付けらしい。
実は、fx-CG50でも、センサーキットと接続して、センサー入力したデータを分析するアプリケーションが用意されておりました。センサーキット自体が入手困難な上、手頃ではなさそうなのですが、この辺りは、TIの電卓を追いかけていた様で、まさに、Sentaro様の言う通りであります。
ちなみに、データ分析アプリでは、FFTなどの機能があったりします。結構実用的な感じですが、データを取得し、分析する機能がアプリ側で閉じられているので、外部からデータを放り込んで分析をする、という芸当が出来ない辺り、ショボーンな訳ですネ。
尤も、FFTを使う、という事であれば、XCASに機能があるので、Add-OnsでXCASを使えば、勉強になるんじゃろか ?
で、TI電卓 の micro:bit 接続機能なんかでも、micro:bit に接続したセンサーなどのデータを読み込むみたいな作業が出来るとかで、そうして取得したデータをグラフ表示する、という作例が、以下で紹介されておりました。
ref. TI-Python と micro:bit の連携について
https://qiita.com/inachi/items/8306c73a9ed76e72b28e
原理的には、fx-CG50でもできそうな気がするのですが、目下の所、fx-CG50 の upython 機能は、イマイチ足りない。
fx-CG100辺りでは、upythonの機能を拡充するらしい、という観測もあって、例えばUSB port 経由で通信機能などを充実する事で、micro:bit 接続機能に類似した事が可能になってくれると、TI の追っかけ風で、チョット面白いかなぁ、などと不埒な事を妄想してしまったのであります、ハイ。
2025年、「CASIOがきっと、何かやる」事を期待しつつ。
2024年11月26日火曜日
fx-CG50 の X post が増えていたので
2024年11月16日土曜日
「fx-CG50 でもやってみた」チャレンジ ?
先日、つぎの post を見かけました。
https://x.com/RR_Inyo/status/1853820210874376698
実機が手元にないのでオンラインシミュレータですが,0になりました!Numworks の話題でしたが、それでは、我らが fx-CG50 ではどうなのかと試した所、残念ながら fx-CG50 では、累乗の計算について、整式での計算は行いませんでした。
NumWorksは根号などをある程度そのまま扱うようです。
(sqrt(2)-1)^10 - (3363-2378*sqrt(2)) = 0
「くやしいのう、くやしいのう」
しかし、諦めが悪いので、どうにかして、同様の計算結果が得られないモンか、と、考えてみましたヨ。
この整式の計算自体は、2項定理の計算を行えば出来そうです。
(sqrt(2)-1)^n の計算でありますから、sqrt(2) の累乗部分を、うまく括りだすことが出来れば、当初の目的は達する筈であります。
そこで、2項定理の計算で用いる「組み合わせ」の機能をもつ BASIC で、かんたんなプログラムを作成しました。
```
For 0->N To 20
0->A
0->B
For 0->K To N
If MOD(N-K,2)=1
Then
N nCr K*2^((N-K-1)/2)*(-1)^K+A->A
Else
N nCr K*2^((N-K)/2)*(-1)^K+B->B
IfEnd
Next
A->List 11[N+1]
B->List 12[N+1]
Next
```
これを実行すると、20次までの累乗について、List11, List 12 に、係数の数列が保存されます。
この数列は、(sqrt(n)-1)^n = A*sqrt(2) + B と展開した場合、
List 11 ; Aが保存されます。
List 12 ; B
例えば、(sqrt(n)-1)^10 = -2378*sqrt(2) + 3363 でしたが、
List 11[11] = -2378となる寸法。(残念ながら、リストの添字は1始まりなので、10乗の場合には、添字11に保存される具合)
List 12[11] = 3363
ここまで苦労したものの、fx-CG50 には XCAS が作られております。これを使えば「答えイッパーツ !」でしたね。
(sqrt(2)-1)^10 と入力し、simplify() を適用する事で、所望の結果が得られましたヨ。さすがは XCAS。
で、延々作業したものの、n->inf の極限では、(sqrt(2)-1) < 1 なので (sqrt(2)-1)^inf -> 0 に収束するという、泣けてくるオチまで用意して、このネタを終わりにしたいと思います。
登録:
投稿 (Atom)