fitting sum of gaussians into a data set (100 rows and 1 column)
    8 views (last 30 days)
  
       Show older comments
    
Getting difficulty in fitting and plotting a data set (100x1 matrix) by using gmdistribution.fit....i have to git a large number of sum of gaussians...but i guess it needs a matrix with mu and sigma values...can anyone help me in fitting this data into sum of gaussians and plotting it..i want a one dimensional plot... thanks
0 Comments
Accepted Answer
  Pourya Alinezhad
      
 on 10 Jun 2013
        you can use the function "lsqcurvefit".first define Gaussian formula in a function mfile.then the lsqcurvefit function gives the fitted data .
3 Comments
  Pourya Alinezhad
      
 on 10 Jun 2013
				what is your understanding that "large number of gaussians"? if there is multiple qaussian functions with variable mu and sigma values you can do so for every of them and then interpolate the results to have one dimentional plot or take an average between the results.
More Answers (1)
  Alan Weiss
    
      
 on 14 Jun 2013
        
      Edited: Alan Weiss
    
      
 on 14 Jun 2013
  
      As clearly stated in the Input Arguments section of the documentation, you should not return the sum of squares, but should return a vector of values for your objective function. Making a sum of squares as you have done slows or stops convergence.
I am not sure that I understand your formulation completely, but perhaps you should check a similar sort of example in the documentation.
Alan Weiss
MATLAB mathematical toolbox documentation
See Also
Categories
				Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

