電子書籍の厳選無料作品が豊富!

問題で
「x(範囲はaからb)で定義されている関数f(x)を多項式C0-C1xで近似する方法を述べよ」
というのがあるのですが、条件が少なく良く分かりません。。。

多項式近似ということで最小二乗法などで直線に近似するのかな、と考えているんですが。。。

なにか良い方法があったら教えていただきたいと思います。
よろしくお願いします。

A 回答 (2件)

関数を多項式で近似する方法には、イロイロあります。


「近似」という言葉に単一の意味はなく、
何が近似であるかは、何をもって近似とするか次第です。

最小二乗法もそのひとつ。
∫[a≦x≦b] { f(x) - (c0 - c1 x) }^2 dx の値を最小にする
ような c0 - c1 x を f(x) の近似とする考え方です。

その他にも、
∫[a≦x≦b] | f(x) - (c0 - c1 x) | dx を最小にする「近似」とか、
max[a≦x≦b] | f(x) - (c0 - c1 x) | を最小にする「近似」とか、
いくらでも考えられます。

その近似多項式の最終的な用途次第で、好きに定義すればよい。
    • good
    • 0
この回答へのお礼

なるほど、データではなく範囲で示されてる場合は積分の形に持っていって表現すればいいのですね。

>何をもって近似とするか次第です。

大変参考になりました。ありがとうございました。

お礼日時:2009/01/28 08:14

こんばんは。



「多項式C0-C1x」という書き方は見たことがないのですが、
C0 ひく C1 かける x
という意味だとすれば、あなたの
「最小二乗法などで直線に近似するのかな、と考えているんですが」
で正解です。

一応、二次以上の多項式の場合についても、さわりだけ解説します。

y = a + bx + cx^2 + ・・・ + wx^n
に近似するとして、
各データ(xk,yk)の式は、yk の誤差(外れ具合)を εk と置いて、
εk = -yk + a + b・xk + c・xk^2 + ・・・ + w・xk^n
と表すことができます。

二乗誤差は、
εk^2 = (-yk + a + b・xk + c・xk^2 + ・・・ + w・xk^n)^2

全データの εk の合計Sは、
S = Σεk^2
 = Σ(-yk + a + b・xk + c・xk^2 + ・・・ + w・xk^n)^2
です。

ここで、xk と yk はデータですから既知です。つまり、定数として扱えます。
逆に、a、b、c、・・・w は、まだわからないので未知数。つまり、変数として扱えます。

Sを最小にするためには、Sが極小値をとるようにすればよいのですから、
それはつまり、Sをa、b、c、・・・w のそれぞれで偏微分したものがゼロであればよい、ということです。

よって、
∂S/∂a = 0
∂S/∂b = 0
∂S/∂c = 0
・・・・・
∂S/∂w = 0
という連立方程式により、a、b、c、・・・wの値が決まります。


以上、ご参考になりましたら幸いです。
    • good
    • 0
この回答へのお礼

大変参考になりました。
おかげさまで問題文の意図もよく分かりました。

詳しい解答をありがとうございます!

お礼日時:2009/01/28 08:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!