web-dev-qa-db-ja.com

最適な散布図の線

Matlabに最適な線で散布図を作成しようとしていますが、scatter(x1、x2)またはscatterplot(x1、x2)のいずれかを使用して散布図を取得できますが、基本的な近似オプションはシャドウアウトされ、lslineは戻ります。エラー '許可された線種が見つかりません。何もしなかった」

どんな助けも素晴らしいでしょう、

ありがとう、ジョン。

8
Jon

lsline はStatistics Toolboxでのみ使用できますが、statistics Toolboxはありますか?より一般的な解決策は、polyfitを使用することです。

データに行を合わせるには、 polyfit を使用する必要があります。 yにいくつかのデータがあり、xに対応するドメイン値があるとします(つまり、任意のfに対してy = f(x)に近いデータがある場合)、次のように線形曲線を当てはめることができます。

p = polyfit(x,y,1);   % p returns 2 coefficients fitting r = a_1 * x + a_2
r = p(1) .* x + p(2); % compute a new vector r that has matching datapoints in x

% now plot both the points in y and the curve fit in r
plot(x, y, 'x');
hold on;
plot(x, r, '-');
hold off;

任意の多項式をデータに当てはめる場合は、polyfitの最後のパラメーターをcurvefitの次元に変更することで行うことができます。この次元をdと呼ぶとすると、pd+1係数が返されます。これは、f(x)の推定値に準拠する多項式を表します。

f(x) = p(1) * x^d + p(2) * x^(d-1) + ... + p(d)*x + p(d+1)

コメントに記載されているように、編集します。 polyval を使用してrを計算することもできます。その構文は、次のようになります。

r = polyval(p, x);
22
Mark Elliot

Infs、NaN、および複素数の虚数部はデータでは無視されます。

カーブフィッティングツールは、カーブやサーフェスをデータやビュープロットにインタラクティブにフィットさせることができる柔軟なグラフィカルユーザーインターフェイスを提供します。あなたはできる:

複数のはめあいを作成、プロット、比較

線形または非線形回帰、内挿、局所平滑化回帰、またはカスタム方程式を使用する

適合度統計の表示、信頼区間と残差の表示、外れ値の削除、検証データによる適合度の評価

サーフェスをフィッティングおよびプロットするためのコードを自動的に生成するか、さらに分析するためにフィッティングをワークスペースにエクスポートします

0
Milad Greeneyes