Nonlinear fitting n-dimensional data with arbitrary functions
How to fit a 2D Gaussian function to noisy data in Matlab? Or data with another number of dimensions and arbitrary fit function?
It took me a while to find out how Matlab does this by the functions lsqcurvefit, fmincon or fminsearch. This project demonstrates how to use these functions to fit ND data with ND functions. Several tests are compiled in the file fit_test.m. Reading and trying out this file will explain a lot.
fit_nl.m and fit_nl_ex.m are written around the matlab functions lsqcurvefit/ fmincon/fminsearch. Additionally: parameters can be set fixed or some built-in functions (Gaussians, Lorentzians) can be used (see fit_func.m). However the set of built-in functions is pretty special.
fmincon/fminsearch can even be used to solve maximum likelihood parameter estimation problems other than for gaussian noise (least squares). An example is included for Poissonian noise in fit_nl_ex.m. Although this is often the case in imaging, this part is also quite special. If You have questions about these problems, ask here!
引用格式
Jan Keller (2024). Nonlinear fitting n-dimensional data with arbitrary functions (https://www.mathworks.com/matlabcentral/fileexchange/20540-nonlinear-fitting-n-dimensional-data-with-arbitrary-functions), MATLAB Central File Exchange. 检索来源 .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!html/
版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.0.0.0 | Some bugs, better help, more comments, error checks, a better test routine and a little bit more features ... version 2. |