Gaussian mixture curve fitting
显示 更早的评论
How does one curve fit a 2 dimensional gaussian mixture to data? I know that the function 'gmdistribution.fit' models the data as a multidimensional gaussian mixture, but I want to do curve fitting instead. I tried using the 'nlinfit.m' function by writing my own model function but I run into errors because I cannot constrain the co variance matrix to be positive semi definite.
2 个评论
the cyclist
2014-11-10
编辑:the cyclist
2014-11-10
Do you mean one-dimensional data ("x") that is fit by the sum of two component gaussians in that dimension, or do you mean two-dimensional data ("x" & "y") fit by one (or more?) gaussian(s) in each dimension?
回答(2 个)
the cyclist
2015-3-10
0 个投票
I don't have any experience doing this in MATLAB, but it sounds to me like the fit function in the Curve Fitting Toolbox is exactly what you need.
That page shows a simple example of fitting a surface. Your case would be a bit more complicated, because you want to fit a custom function, but it seems that this is possible.
Edgar
2018-11-20
0 个投票
Hello there,
I have a curve which I want to fit using a mixture of two gaussians. As in the original question, I have checked fitgmdist but that expects the data, rather than curve fitting.
Is there a way to fit a mixture of gaussians to a curve? I do not have the curve fitting toolbox.
Any ideas?
Thanks!
2 个评论
Image Analyst
2018-11-20
See attached demo.

Jaroslav Hook
2020-7-17
This wors fine as long as the curves do not overlaps
类别
在 帮助中心 和 File Exchange 中查找有关 Gaussian Mixture Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!