Curve start and end coordinates
Show older comments
Hello,
I have a curve

I want to find the starting and end coordinates of these gaussian curves.
It would be great if you guys could help!
The required data is attached in this question itself ("req_data.mat").
Thank you!
Answers (1)
Gaussian curves are infinite in length., so it isn't clear what your criterion would be for where they start/stop. However, a good place to start would probably be to use the Curve Fitting Toolbox to fit a three-term Gaussian model ( 'gauss3' ).
s=load('req_data.mat').drt_data;
x=s.tau;
y=s.gamma_tau*1e4;
a=[1.5,0.5,6];
b=[-2,-0.3,1.4];
c=[1,0.5,1];
x0=[a;b;c];
ft=fit(x,y,'gauss3','StartPoint',x0(:).');
plot(ft,x,y)
5 Comments
ekagra gupta
on 29 Aug 2022
ekagra gupta
on 30 Aug 2022
Matt J
on 30 Aug 2022
How would this curve fitting help if I may ask?
You seem to be saying that the lobes in your curve are Gaussians. Because Gaussians are inifinite in length, your criterion for deciding where it starts and stop points as not a priori obvious. Technically speaking, they all start and stop at +/- infinity.
Perhaps, though, you wish to use 3 standard deviations as a measure of each lobe's width. If so, the curve fit determines the standard deviations of each Gaussian for you.
ekagra gupta
on 30 Aug 2022
Image Analyst
on 30 Aug 2022
Edited: Image Analyst
on 30 Aug 2022
The area in the tails is probably insignificant, therefore simply use the formula for the area of a Gaussian:
From Matt's code you know the 3 amplitudes and 3 standard deviations. It should be accurate enough for your purposes.
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!
