How to sum two gaussian curve fits (cfit) ?

17 vues (au cours des 30 derniers jours)
Naif Alsalem
Naif Alsalem le 21 Juin 2022
Modifié(e) : Chris le 21 Juin 2022
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?

Réponse acceptée

Chris
Chris le 21 Juin 2022
Modifié(e) : Chris le 21 Juin 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 commentaire
Naif Alsalem
Naif Alsalem le 21 Juin 2022
Thank you very much, @Chris. Absolutely what I needed. The keyword was with the: feval.
Much obliged

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by