2014.10.21

前へ
次へ
ホームページトップへ戻る

MYCPU80でCP/Mを!
超巨大基板の8080互換HCMOS・CPUでCP/Mを走らせてしまおうという、なんとも狂気なプロジェクトです!


[第55回]


●EXCELでチェビシェフの近似式を求める(2)

[第49回]でEXCELを使ってチェビシェフの近似式を求めました。
そこでは[第46回]で説明した方法を使いました。
「数値計算」(コロナ社)に記載の方法もテイラーの多項式とチェビシェフの多項式を使って近似式を求めますが、そこではチェビシェフの逆展開式というものも使って、表によって近似式を求めています。
あらかじめ逆展開式を算出しておくことで、近似式を比較的容易に求めることができます。
その方法につきましては[第50回]で説明をいたしました。
また逆展開式につきましては[第51回][第54回]で説明をいたしました。
今回は「数値計算」(コロナ社)に記載の方法を使って[第49回]と同様にしてEXCELで近似式を求めてみました。
下がEXCELの画面です。



200行〜205行に逆展開式を記載しました(セルに係数を簡単に入力するためにここに記載したもので、これはただの覚えです。このままEXCELで計算に使ったりはしていません)。

[第49回]と同じレイアウトになるように考えたため、表の縦と横が[第50回]の説明とは逆になっていますが、やっていることは[第50回]で説明したことと同じです。

209行はテイラーの展開式の係数項の分母です。
いきなり分数を記入すると小数になってしまってちょっと見には訳がわからなくなりますのでそうしました。
210行が209行の逆数です。

I211〜I216にはI210の値とx11の逆展開式のT11〜T1の各係数値の乗算式が埋め込んであります。
たとえばI211のセルには =I210/1024 が埋められています。
またI212には =I210*11/1024 が埋められています。
J212〜J216にはJ210の値とxの逆展開式のT9〜T1の各係数値の乗算式が埋め込んであります。
たとえばJ212のセルには =J210/256 が埋められています。
またJ213には =J210*9/256 が埋められています。
以下同様です。

O211〜O216には横の合計値が入ります。
ちなみにO211には、=SUM(I211:N211) が埋めてあります。
このO列の値がチェビシェフの多項式T11〜T1のxの係数に掛けるべき値です。
ただし以下の計算ではT11は使いません。

219行から223行にはチェビシェフの多項式T9〜T1のxの係数が置いてあります。
チェビシェフの多項式は[第44回][第45回]で説明をしました。

225行〜229行にはO列の値と219行から223行に置いた係数との積を置きます。
ちなみにJ225には =J219*O212 が埋めてあります。
K225には =K219*O212 が埋めてあります。
またK226には =K220*O213 が埋めてあります。
以下同様です。

そしてJ230にはJ225〜J229の合計が入ります。
J230には =SUM(J225:J229) が埋めてあります。
K230にはK225〜K229の合計が入ります。
K230には =SUM(K225:K229) が埋めてあります。
以下同様です。

J230〜N230が求める9次の近似式SIN(x)=Jx+Kx+Lx+Mx+Nxの各係数値です。

ここでは「数値計算」(コロナ社)に記載されている方法でチェビシェフの9次の近似式を求めましたが、それとは別の方法で[第49回]で求めた近似式と全く同じものになりました。
結果は同じになりますが、両者の求め方を比べてみますと、やはり今回の「数値計算」(コロナ社)の方法のほうが求めやすいように思います。

MYCPU80でCP/Mを![第55回]
2014.10.21upload

前へ
次へ
ホームページトップへ戻る