2016-04-27 13 views
1

私はゼロを通る3次多項式関数に当てはめるべき(Xi、Yi)点の集合を持っています。原点を通過するMath.Netの曲線に合う

このタスクにはMathNet.Numericsを使用することを検討しましたが、documentation では、適合関数を原点を通過させるオプションが表示されません。このオプションがサポートされていない場合は、MathNet.Numericsの最新リリースに含まれている機能を使用するソリューションを提案してください。

答えて

1

私はあなたがこれはあなたが私はそのためのオプションを見たことがないの原点を通してそれを強制するためとしてMath.Net

Func<Double, Double> MyFunc = Fit.PolynomialFunc(xDataArr, yDataArr, 3); 

でいくつかのデータをフィットする方法をであることを知っていると仮定します。私は唯一の本当の解決策は、あなたのデータセットにポイント(0, 0)を置き、最高のために願っていますか?

実際に数学的に意味をなさないものは、(0, 0)という点をデータセットに複数回挿入することです。

+0

お返事ありがとうございます。 Math.Netでデータをフィットさせるのは簡単です。データに(0,0)を加えることは、プロットが(0,0)を通過するように制約することと等価ではありません。現在のバージョンでこの制限を回避できるかどうかは不思議です。 – atrash

+0

私はこのような制約を許容する何かを見たことがないことが数回ありました。そして、はい、データに '(0、0)'を追加しても厳密に制約されないことを理解しています。 //別のオプションとして、 'Func'の代わりに関数の係数を取得し、必要に応じて係数を変更することもできます。 – KDecker

+0

パススルー元は、Excelで「代行受信= 0」と同等です。 Matlabでこの問題を解決する方法は2つあります:http://www.mathworks.com/matlabcentral/answers/94272-how-do-i-constrain-a-fitted-curve-through-specific-points-like-the -origin-in-matlab http://www.mathworks.com/matlabcentral/fileexchange/35401-polyfitzero – atrash

関連する問題