10

それは基本的な質問です。を使用して散布点に線を当てはめていpolyfitます。散布点のX値が同じでpolyfit、線が合わない場合があります。この状況に対処できるものが必要です。結局のところ、それはちょうどラインフィットです。

XとYを入れ替えてから、線を引くことができます。散布点のセットがたくさんあり、線をチェックする一般的な方法が必要なため、より簡単な方法です。

主な目標は、適切な線を見つけ、非線形の特徴を削除することです。

4

2 に答える 2

6

まず第一に、これはあなたが使用しているフィッティングの方法が原因で起こります。を実行するときは、線からの距離polyfitに対して最小二乗法を使用しています。Y


(出典:une.edu.au

明らかに、垂直線では機能しません。ちなみに、縦線に近いものがあっても、数値的に不安定な結果になることがあります。

2つの解決策があります:

  1. あなたが言ったように、線がほぼ垂直であることがわかっている場合は、xとyを入れ替えます。その後、逆線形関数を計算します。
  2. 垂直ではなく、線からの垂直距離に最小二乗法を使用します(下の画像を参照)(詳細はこちらをご覧ください)


(MathWorldから-Wolfram Webリソース:wolfram.com

于 2012-06-11T14:50:59.830 に答える
2

Polyfitは線形通常最小二乗近似を使用し、結果のファンデルモンド行列はランクが不足するため、横座標を繰り返すことはできません。もっと統計的な性質のものを見つけようとすることをお勧めします。アンドレイス法を研究したい場合は、通常、最小二乗法または直交距離回帰という名前で呼ばれますhttp://en.wikipedia.org/wiki/Total_least_squares

また、x値が同時に存在することを検出し、データを原点を中心に回転させ、線をフィッティングしてから、線を元に戻す可能性も暫定的に提案します。これがどれほどうまく機能しないかは言えませんでしたし、精度要件に基づいてそれがオプションであるかどうかを判断できるのはあなただけでした。

于 2012-06-11T14:52:45.100 に答える