1

「基本的なフィッティング」ツールを使用する場合、「フィッティング」が行われると、特定のポイントで値を評価/推定する機会があります。作図部分までしか再現できませんでした。「評価」関数をプログラムで再現して、特定のポイントの値を見積もり、コードで使用できるようにする方法がわかりません。今のところこれを実現できる唯一の方法は、GUIを使用することです。つまり、Figureウィンドウのメインメニューから「ツール>>基本的なフィッティング」を実行します。

スクリーンショット

自分自身を十分に明確にしているのかどうかはわかりませんが、さらに情報が必要な場合は遠慮なく質問してください。

4

2 に答える 2

1

あなたの質問に対する答えは、あなたがフィッティングしているモデルの特定のタイプに依存します。多項式フィッティングだけに興味があるのか​​、それとももっと複雑なことに興味があるのか​​は、あなたの質問からは明らかではありません。多項式の場合、polyfit関数を使用して係数を取得し、関数を使用polyvalして特定のポイントで評価することができます。

%construct a test signal
x = linspace(0,1,100)';
signal = 5*x.^2 + x + 0.5;
noise = 0.1*rand(100,1);
y = signal + noise;

%Plot function
plot(x,[signal,y]);

%Polynomial fitting
n = 2; % order of polynomial
coeff = polyfit(x,y,n) % I get 5.0295, 0.9786, 0.5512

%Evaluate at a certain set of points
x1 = 2.3;
polyval(coeff,x1)

より複雑なモデルをフィッティングする場合はcfit、フィッティングを行うためにを使用する必要があります。これにより、フィッティングオブジェクトが得られます。feval特定のポイントで関数を評価するには、その近似オブジェクトを関数に渡す必要があります。詳細については、これらの関数のドキュメントを確認してください。

于 2013-01-16T05:31:30.863 に答える
0

Karthikの回答に加えて、インタラクティブフィットを引き続き使用したいが、後でプログラムで評価したい場合は、スクリーンショットの左側にある[ワークスペースに保存...]を押して、フィット情報をワークスペースに保存する必要があります。デフォルトでは、これにより、多項式係数を含むフィールドをfit持つMATLABという名前の変数が作成されます。次に、次のように、を使用して多項式を評価できます。structcoeffpolyval

polyval(fit.coeff, 5); % get the value at 5
于 2013-01-16T08:30:00.923 に答える