How to sum two gaussian curve fits (cfit) ?

18 views (last 30 days)
Dear All,
I have two peaks fitted with gaussian profiles (cfit) as shwon in the image below. I need to sum these two gaussian curves together but arthimetic operations are not allowed on cfit types in MATLAB. The peaks with the black and blue asterisks represent Row1 & Row2. The red curves are the gaussian fits performed as:
F1=fit (x1', y1','gauss2');
F2=fit (x2', y2','gauss2');
The summation of the F1 and F1 is just not allowed as:
D = F1+F2;
Undefined operator '+' for input arguments of type 'cfit'.
and I am looking for a way to add them together. Any thoughts?

Accepted Answer

Chris
Chris on 21 Jun 2022
Edited: Chris on 21 Jun 2022
You could evaluate the fits and add them, though they would no longer be cfits.
x = linspace(20,35);
F1pts = feval(F1,x);
F2pts = feval(F2,x);
Fsum = F1pts+F2pts;
figure
plot(F1)
hold on
plot(F2)
plot(X,Fsum)
or more succinctly:
x = linspace(20,35);
plot(x, F1(x) + F2(x))
  1 Comment
Naif Alsalem
Naif Alsalem on 21 Jun 2022
Thank you very much, @Chris. Absolutely what I needed. The keyword was with the: feval.
Much obliged

Sign in to comment.

More Answers (0)

Products


Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!