-2

私は専門家の数学に精通していません。だからどこから始めればいいのかわからない。

このような記事を入手しました。この記事の説明に従っているだけです。しかし、これは私にとって簡単ではありません。

しかし、上記の 4 つの多項式から 1 つの多項式 (またはそのようなもの) を作成する方法がわかりません。これは可能な方法ですか?

はいの場合、多項式(または方程式のようなもの)を取得する方法を教えてください。そうでない場合、その理由を教えていただけますか?

アップデート

I'd like to try as following 


clear all ;
clc

ab = (H' * H)\H' * y;
y2 = H*ab;

Finally I can get some numbers like this.



So, is this meaning?



As you can see the red curve line, something wrong.
What did I miss anythings?
4

1 に答える 1

1

この記事では、「複数のデータ セットを 1 つに結合して 1 つの多項式を取得できます」とだけ述べています。

別の方向に進むこともできます。つまり、データ セットを細分化して、必要な数の個別のデータ セットを取得します。(これは n 分割検証と呼ばれます。)

n 個の点 (x, y) のコレクションから始めます。(独立変数 x と従属変数 y を 1 つだけにして、シンプルに保ちます。)

最初のステップは、データをプロットし、それを見て、2 つの間のどのような関係がそれをうまく説明するかを考えることです。

次のステップは、両者の関係を何らかの形で想定することです。理解しやすく操作しやすい多項式が好まれますが、他のより複雑な関係も考えられます。

1 つの多項式は次のようになります。

y = c0 + c1*x + c2*x^2 + c3*x^3

これは、従属変数 y と独立変数 x の間の一般的な関係です。

n点(x、y)があります。あなたの関数はすべてのポイントを通過することはできません。私が示した例では、係数は 4 つしかありません。n >> 4 の係数はどのように計算しますか?

そこで行列の出番です。n 個の方程式があります。

y(1) = c0 + c1*x(1) + c2*x(1)^2 + c3*x(1)^3
....
y(n) = c0 + c1*x(n) + c2*x(n)^2 + c3*x(n)^3

これらを行列として書くことができます:

y = H * c

ここで、プライムは「転置」を表します。

両辺を転置 ( X ) で事前に乗算します。

転置 ( X ) * y = 転置 ( H ) * H * c

標準的な逆行列または LU 分解を実行して、係数cの未知のベクトルを解きます。これらの特定の係数は、各点 x で評価された関数と実際の値 y との差の二乗和を最小化します。

アップデート:

これらの多項式への固定がどこから来るのかわかりません。

あなたのyベクトルは?違う。あなたのH行列?再度間違える。

これらの多項式の使用を主張する必要がある場合は、次のことをお勧めします。プロットには x 値の範囲があります。0 と最大値の間に等間隔で 100 個の x 値があるとします。これらは、H 行列に挿入する値です。

多項式を使用して、多項式ごとに 1 つの y 値のセットを合成します。

それらすべてを 1 つの大きな問題に結合し、新しい係数セットを解きます。3 次多項式が必要な場合は、4 つの係数と 1 つの方程式しかありません。これは、4 つの多項式で作成したすべての合成データの最小二乗最適近似を表します。

于 2015-08-12T00:15:50.563 に答える