2014.10.9

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

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


[第50回]


●「数値計算」の方法でチェビシェフの近似式を求める

[第46回]でテイラーの多項式からチェビシェフの近似式を計算によって求めました。
その方法が一般的なものかどうかは私にはわかりません。
[第46回]で紹介しましたサイトで説明されていたやり方に従って求めました。
ちょいと面倒なやり方です。
ま、しかし、そのときはそういうものだと納得したのでありましたが。

ところがその後になってコロナ社の「数値計算」を再入手しましたところ、そこでもテイラーの多項式からチェビシェフの近似式を求める方法が説明されていることを発見しました。
そこで説明されていた求め方は、[第46回]の方法とは異なっていました。
しかも、こちらのほうが簡単ではありませんか!

で、今回は「数値計算」で説明されております方法でチェビシェフの近似式を求めてみることにいたします。
こちらのほうが簡単なのですが、ちょっと準備が必要です。
チェビシェフの多項式を使うところは同じなのですが、そのほかにチェビシェフの逆展開式というものが必要です。
これはチェビシェフの多項式のTn=f(x)から逆にx=f(Tn)を求めたもので、同書にはx〜xまでの式が掲載されています。
のちほどこの式の算出方法についても考えてみることにしますが、とりあえずは同書に掲載されております式をそのまま使うことにいたします。
[第46回]と同様にテイラーの5次式からチェビシェフの3次の近似式を求めてみます。
そこで必要になる逆展開式は、x、x、xの式です。
下に各式を同書から引用して示します。
x=T …(1)
=(3T+T)/4=(3/4)T+T/4 …(2)
=(10T+5T+T)/16=(5/8)T+(5/16)T+T/16 …(3)

もとになるテイラーの5次の多項式は下の式でした。
sin(x)=x/5!−x/3!+x
=x/120−x/6+x …(4)

上記の式をもとに下の表を作成します。

          T                T                 T
/120   5/8/120=1/192   5/16/120=1/384   1/16/120=1/1920
−x/6    −3/4/6=−1/8    −1/4/6=−1/24
x         1
Σ        169/192           −5/128             1/1920

表の左端にテイラーの多項式を縦に並べ、その右側にT、T、Tの各列を置きます。
縦横の交点には左端のxに(1)〜(3)式を代入したときのTnの係数を計算して置きます。
Σの行は各列の合計値です。

作成した表の値を使って、ただしTは省略してTとTのみを使って式を示します。
(4)式のxの項をTnの項で置き換えますが、このとき元の(4)式の各項の係数は無視します。
新しい式のTnの各項の係数にはΣの値を使います。

sin(x)=(169/192)T−(5/128)T

最後にチェビシェフの多項式([第45回]参照)からTとTをxに置き換えます。
=x、T=4x−3x
をそれぞれ代入して

sin(x)=(169/192)x−(5/32)x+(15/128)x
=(383/384)x−(5/32)x

となります。
[第46回]と全く同じ式が得られました。

うーん。
表に数値を当てはめていくだけでTnの係数が求まってしまいました。
こちらのやり方のほうがよさそうですねえ。
特にEXCELを使う場合にはより有利になりそうです。

[2014.10.10追記]
昨日は時間がありませんでしたので表の作成のあたりの説明をはしょってしまいました。
表には計算式を置きましたので推測していただけるとは思いますが、念のために、今朝になってから、表の作成〜近似式を得るところまでに説明を付け加えました。

MYCPU80でCP/Mを![第50回]
2014.10.9upload
2014.10.10追記

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