2025年8月31日日曜日

fx-CG50 と fx-CG100 では、何かが違うのかな ?

 金欠で fx-CG50 をポツポツと使って物欲という渇愛を癒やす日々、fx-CG100 を購入の皆様、様々御活用されて居られます様で、ご健勝、お慶び申し上げます。

 Tossy (@Tossy99077342) 様 post より

CASIOのfx-CG100のPython機能のcasioplotモジュールでランダムな色で画面を埋め尽くすサンプル。
何故か描画が途中で遅くなったり速くなったりする。
https://x.com/Tossy99077342/status/1962097774184603800

との事で、簡単なコードを書いてみましたヨ。

from casioplot import *
from random import *

def draw_box(i, j, c) :
  for y in range(16) :
    for x in range(16) :
      set_pixel(i*16+x, j*16+y, c)

for j in range(12) :
  for i in range(24) :
    c = (randint(0,255), randint(0,255), randint(0,255))
    draw_box(i, j, c)
    show_screen()


実行してみると、カラフルな画素で画面を敷き詰める筈。

 fx-CG50 で試したのですが、当方、ジジィになってしまい反射速度も鈍っているらしく、「何故か描画が途中で遅くなったり速くなったりする。」事象を確認するには至らず。

 あるいは、fx-CG100 で実行すると、重大な「何か」で、実行速度に"揺らぎ"が生じたりするものなのかしらん ?

取り敢えず、そんな具合です。お試し戴きましたら、ご報告を戴けると幸いです。


追記 on 2025-09-01

  藤堂俊介 (@ShunsukeTodo) 様のpost がありました。

fx-CG100 虚数の平方根ができるようになったのか。
#CASIO
#関数電卓
https://x.com/ShunsukeTodo/status/1962465220393328693
 

 以前、藤堂様は fx-CG50 の検討をされておられた様ですが、今般、CG100 登場で興味を惹かれたのかも ?

し・か・し ! fx-CG50 でも 複素数の計算はデキルんですヨ ! そりゃ、足りない部分はあるのは否めませんけれども。

 √i, i^i だったら、計算してくれますゼ。Setupでcomplex mode を a+ib にすればヨロシイのです。

 

7 件のコメント:

Krtyski (やす) さんのコメント...

akatuki様

fx-CG100 にポチポチ打ち込んで動かしてみましたが、表示途中に表示速度が変化するのは観察できませんでした。

残りメモリが少ない、電池の電圧が低くて不安定とか、通常でない条件がありそうに思われますが、それが何なのかは、今のところよく分からないです。

Krtyski (やす) さんのコメント...

akatuki様

気持ち、少しだけ負荷を増やしてみました。具体的には、各色つきボックス内に一桁の数字を順に重ね表示する処理を追加してみました。

from casioplot import *
from random import *

def draw_box(i, j, c) :
for y in range(16) :
for x in range(16) :
set_pixel(i*16+x, j*16+y, c)

n = '123456789' #this line is added
for j in range(12) :
for i in range(24) :
c = (randint(0,255), randint(0,255), randint(0,255))
draw_box(i, j, c)
draw_string(i*16+2, j*16+1, n[(i+j)%10], (255, 255, 255)) #This line is added
show_screen()

この程度の負荷を追加したくらいでは、処理速度が不安定にはなりません。
当たり前と言えばそうです。
従って、処理が不安定になるには、それなりのハードウェアレベルの原因(メモリ容量や電源など)がないとダメなのではないでしょうか?

akatuki さんのコメント...

Krtyski (やす) 様、早々のお知らせ、多謝であります !

> fx-CG100 にポチポチ打ち込んで動かしてみましたが、表示途中に表示速度が変化するのは観察できませんでした。

そうでしたか ! いや、当方としても、CG50とCG100で大きな違いがあったらイヤだなぁ、と思っていたので、急遽、こんなネタをpostしたのであります。

> 残りメモリが少ない、電池の電圧が低くて不安定とか、通常でない条件がありそうに思われますが、それが何なのかは、今のところよく分からないです。

仰るように、製品の個体差とかまでは判りません。
なので、このpostは、飽くまでも「個人の見解」という所であります。

> 気持ち、少しだけ負荷を増やしてみました。具体的には、各色つきボックス内に一桁の数字を順に重ね表示する処理を追加してみました。
> この程度の負荷を追加したくらいでは、処理速度が不安定にはなりません。
> 当たり前と言えばそうです。

そうでありますネ。お試し戴き、多謝であります !

> 従って、処理が不安定になるには、それなりのハードウェアレベルの原因(メモリ容量や電源など)がないとダメなのではないでしょうか?

確か、以前に似たような話を目にして、set_pixel() での動作の違い、を確認したのでした。
色コード指定のタプル生成を予めやっておくのと、set_pixel() 内の引数で行うのでは、タプル生成に掛かるメモリ消費負荷が違ってくる様なのです。
この辺りを考慮しないとならない所であり、当方の示したコードと、post主のコードが大きく異なるかも知れず。
なので、行方を注視してみたく思います。

Krtyski (やす) さんのコメント...

akatuki様

複素指数関数の計算は、fx-CG50、Graph Math+, fx-CG100 で等しくできますよね。但し、おっしゃるとおり、一部の計算のみではありますね。
https://egadget.blog.fc2.com/blog-category-36.html#CompExp


akatuki さんのコメント...

Krtyski (やす) 様、早々のコメント多謝です !

> 複素指数関数の計算は、fx-CG50、Graph Math+, fx-CG100 で等しくできますよね。但し、おっしゃるとおり、一部の計算のみではありますね。
> https://egadget.blog.fc2.com/blog-category-36.html#CompExp

御検証戴き、有難う御座います。

「追記」の件、fx-CG50を袖にしてしまった藤堂様が、今般 fx-CG100に興味を持たれた様子なので書いたのですが、こちらのblogで書いても、見に来ない限りは、何とも言いようがありません。
fx-CG100の計算画面は、CASIO BASICの計算が使われていると思われますが、CG100 になって、肝心の CASIO BASIC が削除となってしまい、寂しいなァ、と。
一方、CG100では upython に軸足を移した、と好意的解釈ならば、アプデによって upython で cmath module を追加する事で、CG100 でも複素数関数が利用できる ! という柔軟さを期待したい所であります。
折角、upython 自体に複素数計算能があるので、色々とやって行きたいものであります。

Krtyski (やす) さんのコメント...

akatuki様

某所でマンデルブロットのCasio Pythonコードをご提示頂きました。
https://egadget.blog.fc2.com/blog-entry-825.html#comment6252

このコードには虚数 (j) が含まれており、a+bj 形式の複素数の加減乗除はできるようです。オイラーの複素指数関数が Casio Pythonで使えるかどうかは不明なのですが、関数機能が Casio Pythonにあまり導入されていないので、多分無理だろうな?という予測です。

なお、cmath module では指数複素関数が使えるのかご存じですか?

akatuki さんのコメント...

Krtyski (やす) 様、どうにも、余計な事に手を出して、こちらのloginが侭ならぬ状態、返信が遅れました事を御容赦戴きたく !

> このコードには虚数 (j) が含まれており、a+bj 形式の複素数の加減乗除はできるようです。

upython は python3.4 ベースとかで、複素数自体はハンドル出来る様ですネ。
数値アトムに複素数が含まれている、という感じでありましょうか。
純虚数を 1j として記述します。python editor でも、Shift+0 で 1j が入力できます、地味に便利。

> オイラーの複素指数関数が Casio Pythonで使えるかどうかは不明なのですが、関数機能が Casio Pythonにあまり導入されていないので、多分無理だろうな?という予測です。
> なお、cmath module では指数複素関数が使えるのかご存じですか?

複素数拡張の 三角関数、指数対数関数などを準備するのが cmath module という事らしいのです。
しかし、fx-CG50, CG100 では用意されていないのが、口惜しい所であります。

途中で止まって放置状態ではありますが、fx-CG50 で動く、自家製 cmath module を開陳しております。
御覧戴ければ幸いです。

https://akatuki-724.blogspot.com/2024/09/fx-cg50-biomorph.html