У меня есть набор данных (x,y
), в который я вписываю гауссиан с тремя терминами (gauss3
):
[gaussianFit,gof]=fit(x,y,'gauss3');
Теперь я хочу найти максимум этой функции. Я знаю, что для gauss1
максимум — это просто параметр b1
, но я понятия не имею, как найти максимум, когда он представляет собой сумму нескольких гауссианов. Термины кажутся взвешенными (иначе моя идея была просто средней из трех b
-терминов). Моей второй мыслью было решить всю дифференцированную функцию со всеми параметрами:
syms x
diff(a1.*exp(-((x-b1)./c1).^2) + a2.*exp(-((x-b2)./c2).^2) + a3.*exp(-((x-b3)./c3).^2)==0);
solve(dEqn,x)
... но это дает мне очень странные значения параметров, которые не являются исходными значениями. И я чувствую, что это просто громоздкое решение чего-то простого.
Я надеюсь, что кто-то может мне помочь, так как у меня нет идей.