0

私は持っている

x = linspace(-5,5,256) y = 1./(1+x.^2) plot(x,y,'...') %plot of (x,y)

多項式が 11 点でグラフと交差するように、次数 10 の多項式でこれを推定したいと考えています。

だから、私はこれをしました:

x2 = linspace(-5,5,11) y2 = 1./(1+x2.^2) p = polyfit(x2,y2,10) %finds coefficients of polynomial of degree 10 that fits x2,y2 y3 = polyval(p,x2) plot(x,y,x2,y3,'...')

polyfit は 10 次までの多項式の係数を与えてくれると思いました。これはポイント(x2,y2)(つまり 11 ポイント)と交差し、y3本質的にyは 10 次多項式が着地する場所の値にすぎないので、それらをまとめてプロットすると 10 次が得られます。多項式、元のグラフと 11 の一意の点で交差しますか?

私は何を間違えましたか?

私の結果:ここに画像の説明を入力

4

2 に答える 2

2

あなたの計算は正しいですが、関数を正しい方法でプロットしていません。生成されたプロットの青い線は区分線形です。pこれは、補間点でのみ多項式を評価しているためですx2。次に、plotコマンドはそれらの点の間に線分を描画し、予期しないプロットが表示されます。期待される結果を得るには、次のように多項式をより密に評価する必要があります。

x3 = linspace(-5,-5,500);
y3 = polyval(p,x3);
plot(x3,y3);
于 2015-05-06T15:55:08.530 に答える