2019年9月13日金曜日

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

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

簡易表言語“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から移行した訳ではありませんワナ。

2019年9月2日月曜日

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

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メニューを使う必要がありますが、面白いので、やってみて頂戴 !

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

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

最近のお子さんも、色々とお稽古事、学習塾に通っておられる様で、その暇を縫うように、ゲームに勤しむ日々。お疲れ様であります。疲れによく効く、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 といった機能が用意されており、上記の様な漸化式を入力してやる事で、電流のグラフが得られます。
電卓の操作演習として、やって見てネ !

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

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

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