2D polynomial fitting with SVD

Fits a polynomial f(x,y) to best fit the data points z using SVD.
ダウンロード: 1.5K
更新 2011/7/14

ライセンスの表示

Use coeffs = fit2dPolySVD(x, y, z, order) to fit a polynomial of x and y so that it provides a best fit to the data z.
Uses SVD which is robust even if the data is degenerate. Will always produce a least-squares best fit to the data even if the data is overspecified or underspecified.
x, y, z are column vectors specifying the points to be fitted.
The three vectors must be the same length.
Order is the order of the polynomial to fit.
Coeffs returns the coefficients of the polynomial. These are in increasing power of y for each increasing power of x, e.g. for order 2:
zbar = coeffs(1) + coeffs(2).*y + coeffs(3).*y^2 + coeffs(4).*x + coeffs(5).*x.*y + coeffs(6).*x^2

Use eval2dPoly(x,y,coeffs) to evaluate the polynomial at any (x,y) points.

If the data is underspecified then the LOWER order coefficients will come out as zero, the solution being a fit using higher orders; use a lower order fit for a more obvious solution in this case.

引用

Richard Whitehead (2024). 2D polynomial fitting with SVD (https://www.mathworks.com/matlabcentral/fileexchange/31636-2d-polynomial-fitting-with-svd), MATLAB Central File Exchange. 取得済み .

MATLAB リリースの互換性
作成: R2011a
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
カテゴリ
Help Center および MATLAB AnswersEigenvalues についてさらに検索
謝辞

ヒントを得たファイル: 2D Weighted Polynomial Fitting and Evaluation

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
バージョン 公開済み リリース ノート
1.4.0.0

Minor change to description

1.3.0.0

Fixed typo in error reporting lines

1.2.0.0

Scaling ignored negative values

1.1.0.0

Corrected typos in description

1.0.0.0