5.0

5.0 | 5 ratings Rate this file 100 Downloads (last 30 days) File Size: 3.56 KB File ID: #37087
image thumbnail

Fit 2D gaussian function to data

by

 

08 Jun 2012 (Updated )

Fits a 2D Gaussian function to simulated data.

| Watch this File

File Information
Description

The program generates a 2D Gaussian. The program then attempts to fit the data using the MatLab function “lsqcurvefit “ to find the position, orientation and width of the two-dimensional Gaussian.
Execute “mainD2GaussFitRot.m” with not input parameters.
The two-dimensional Gaussian function is defined by the function “D2GaussFunctionRot.m” and “D2GaussFunction.m”

Required Products MATLAB
MATLAB release MATLAB 7.12 (R2011a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (6)
11 Dec 2014 Nathan Neff-Mallon

Jan Simon's criticism is misplaced, only minor changes are needed to plot real data. If you have a regular grid of points, all you must do is:
change line 29 to the appropriate initial guesses
change line 30 to xs=x0;
change line 31 to noise=0;
change line 38 to [X,Y] = meshgrid(x,y);
where x and y a vectors with your x an y axis points
change line 47 to Z = zdata;
where zdata is a length(x) by length(y) matrix with the data you wish to fit such that zdata(i,j)=z(x_i,y_j).
Line 48 should be commented out.

If your grid points are not regular, you must set up the X, Y, and Z matrices so that they are all the same size and element i of X, Y and Z all correspond to the point (X(i),Y(i),Z(i)). There might be additional restrictions on the size and shape (I think it must be a matrix and not an array), but I'm not certain.

At any rate, thank you very much Gero. This is very helpful. :)

04 Mar 2014 Leo  
27 Feb 2014 xavier  
03 Feb 2014 Gaszton  
29 Jul 2013 Jan Simon

What a pity that this is a script, which generates the data by a random function. Before it can be used for real problems, substantial changes are required.

It would increase the usability, if the calculations are move to a function and separated from the generation of test data.

11 Oct 2012 Gar Waterman

Works well for 2D system...any chance of broadening it to 3D?

Updates
12 Jun 2012

file was renamed and the definition of the gaussian width was changed.
Also a screenshot was added.

Contact us