
急急急!!!求双峰高斯拟合公式推导过程? 分只有这些了。。。 5
是我没说明白,不好意思,我其实就是要写一个双峰高斯拟合的c++算法,不知道怎么写,主要想推导双峰高斯参数的解...
是我没说明白,不好意思,我其实就是要写一个双峰高斯拟合的c++算法,不知道怎么写,主要想推导双峰高斯参数的解
展开
2个回答
展开全部
书上有的嘛,亲呢!!
更多追问追答
追问
那本书啊 求亲指条明路
追答
下面举一个列子:
这是代码:
function p=twomodegauss(m1,sig1,m2,sig2,A1,A2,k)
%TWOMODEGAUSS Generates a bimodal Gaussian function.
% p=TWOMODEGAUSS(M1,SIG1,M2,SIG2,A1,A2,K) generates a bimodal,
% Gaussian-like function in the interval [0,1]. P is a 256-element
% vector normalized so that SUM(P) equals 1.The mean and standard
% deviation of modes are (M1,SIG1) and (M2,SIG2),respectively.
% A1 and A2 are the amplitude values of two modes.Since the
% output is normalized,only the relative values of A1 and A2 are
% important.K is an offset value that raises the "floor" of the
% function.A good set of value to try is M1=0.15,SIG1=0.05,
% M2=0.75,SIG2=0.05,A1=1,A2=0.07,and K=0.002.
c1=A1*(1/((2*pi)^0.5)*sig1);
k1=2*(sig1^2);
c2=A2*(1/((2*pi)^0.5)*sig2);
k2=2*(sig2^2);
z=linspace(0,1,256);
p=k+c1*exp(-((z-m1).^2)./k1)+c2*exp(-((z-m2).^2)./k2);
p=p./sum(p(:));
就是把2个高斯函数叠加(直接相加)了起来,参数的含义注释里都有说啊,M1,M2是mean,sig1,sig2是标准差,A1,A2决定了2个高斯的峰值,因为函数被归一化了所以这个峰值只是相对的。。。k是一个基线吧。。k=0的时候,沿着x轴往正负无穷的时候高斯就无限趋近于0,k大于0高斯就会往上抬,反之就是往下 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看了你对 2311c 的评论我就搞不懂了…… 你是需要对已经有的数据进行拟合?还是要推导公式的过程?
如果是对已经有的数据进行拟合,你也没说清楚你现在用的是什么软件啊……
如果是对已经有的数据进行拟合,你也没说清楚你现在用的是什么软件啊……
更多追问追答
追问
我是用c++写的,以前做单峰高斯拟合,对高斯公式取反对数变为线性的,然后求参数的最小二乘解,现在做双峰拟合,应该是非线性了,不知道该怎么写
追答
不好意思,不会,帮不了你……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询