0

離散的なプロセスのモデルがあります。実験データもいくつかあります。これが離散関数にどの程度適合するかを調べたいと思います。もちろん、これらの実験点のいくつかは離散点の「間」にあるため、適合度を得るためにこれらを推定できる必要があります。GUI 曲線適合ツールで内挿適合を使用すると、線形であろうと三次であろうと、完全に適合します。の形状保存が使用されています。すべての内挿ポイントを生成してデータポイントと比較する方法はありますか? 30 個の離散データ ポイントの画像と、それらを簡単に結合する内挿関数を添付しました。

[1]: http://i.imgur.com/kz5XgzI.png - 離散関数/interp のスクリーン キャプチャ。フィット

2 番目の質問は、コマンド ライン バージョンを見つけることはできますか? 最適なフィットを見つけるために、これを数百回実行するために自動化する必要があります。.m ファイルにコーディングして、基本的に内挿フィットを生成し、これをラボ データと比較してフィットの良さを得ることができれば理想的です。 .

4

1 に答える 1

1

補間の「フィッティング」は実際には適切ではありません...ポイントを線分、[または曲線の滑らかさを改善する他の形状*]で接続しているだけです。それらを接続する形状に関係なく、それらは常に個別のポイントを通過します。つまり、「完全な」適合を意味します。

質問を言い換えると、モデルから生成された時点 tm_k で一連の離散点 model_k があります。異なる時点 td_k で離散点 data_k の別のセットがあり、それらを比較したいとします。右?

次に、測定データと同じ時点でモデルをリサンプリングするだけで、それらを比較できます。各データ実行について:

% data is a 1xN column vector of your measured data points
% td is a 1xN column vector of the time points corresponding to d
% model is a 1xM column vector of the model points
% tm is the 1xM time vector for model

model_on_data_time_points = interp1(tm, model, td);

% Here is an example of computing with this resampled vector
difference_vector = data - model_on_data_time_points;
mse = sum(difference_vector.^2) / length(difference_vector);  % mean squared error

(*) 編集: コメントに応じて「線分」言語を修正

于 2013-07-18T14:22:18.263 に答える