:GaussLorentzл϶ֵ

ʽ:
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0,cMax,cMin,q0,qMax,qMin,r0,rMax,rMin,Nbird,LoopSum,Error)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0,cMax,cMin,q0,qMax,qMin,r0,rMax,rMin,Nbird,LoopSum)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0,cMax,cMin,q0,qMax,qMin,r0,rMax,rMin,Nbird)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0,cMax,cMin,q0,qMax,qMin,r0,rMax,rMin)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0,cMax,cMin,q0,qMax,qMin,r0,rMax)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0,cMax,cMin,q0,qMax,qMin,r0)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0,cMax,cMin,q0,qMax,qMin)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0,cMax,cMin,q0,qMax)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0,cMax,cMin,q0)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0,cMax,cMin)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0,cMax)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin,c0)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax,bMin)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0,bMax)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m,b0)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n,m)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y,n)
[er,y0,a,b,c,p,q,r,l]=MultiPeakFit(x,y)

x:Ҫϵ֪ݾ
y:xͬά֪
n:ʾGaussĸ,ĬΪ1
m:ʾLorentzĸ,ĬΪ0
b0:ݻ߾(Ϊ,ԪظΪn),ʾGauss庯bĳʼֵ,ĬΪ4
bMax:ݻ߾(Ϊ,ԪظΪn),ʾGauss庯bֵ,ĬΪ32
bMin:ݻ߾(Ϊ,ԪظΪn),ʾGauss庯bֵ,ĬΪ-32
c0:ݻ߾(Ϊ,ԪظΪn),ʾGauss庯cĳʼֵ,ĬΪ50
cMax:ݻ߾(Ϊ,ԪظΪn),ʾGauss庯cֵ,ĬΪ200
cMin:ݻ߾(Ϊ,ԪظΪn),ʾGauss庯cֵ,ĬΪ1
q0:ݻ߾(Ϊ,ԪظΪm),ʾLorentz庯qĳʼֵ,ĬΪ4
qMax:ݻ߾(Ϊ,ԪظΪm),ʾLorentz庯qֵ,ĬΪ100
qMin:ݻ߾(Ϊ,ԪظΪm),ʾLorentz庯qֵ,ĬΪ-100
r0:ݻ߾(Ϊ,ԪظΪm),ʾLorentz庯rĳʼֵ,ĬΪ4
rMax:ݻ߾(Ϊ,ԪظΪm),ʾLorentz庯rֵ,ĬΪ100
rMin:ݻ߾(Ϊ,ԪظΪm),ʾLorentz庯rֵ,ĬΪ0.00001
Nbird:Ⱥ,ĬΪ100
LoopSum:ѭ,Ĭ3000
Error:Ʊ,Ĭ1e-12

er:ص
y0:صĳֵ,庬ɿ˵
a:صϵa,庬ɿ˵
b:صϵb,庬ɿ˵
c:صϵc,庬ɿ˵
p:صϵp,庬ɿ˵
q:صϵq,庬ɿ˵
r:صϵr,庬ɿ˵
l:سֹʱĵ

˵:

1ϵy0,a,b,c,p,q,r

y = y0 + a[1]*exp(-((x-b[1])/c[1])^2) + a[2]*exp(-((x-b[2])/c[2])^2) +  + a[n]*exp(-((x-b[n])/c[n])^2)
       + p[1]/((x-q[1])^2+r[1]) + p[2]/((x-q[2])^2+r[2]) +  + p[m]/((x-q[m])^2+r[m])

2ڲ{nlinFit2<\nlinFit2>}{SolveEquationGauss<\SolveEquationGauss>}

3Ϊڲ⴦,ʱֱӵصķϺҪ!

:

x=0:0.2:10;
y=4.5-2*exp(-((x-6)/4)^2)+12*exp(-((x+2)/8)^2);
//ԭʼ

[er,y0,a,b,c,k,k,k,l]=MultiPeakFit(x,y,2)//سõ½,ע⵱еkֻΪ˼򵥹,ĿΪ˻õl
er =
[ 7.6019999953E-13 ]
y0 =
[ 4.49996356818286 ]//׼ȷֵ4.5
a =
[-2.00010764240004    12.0000546022300 ]//׼ȷֵ a = [-2  12 ]
b =
[ 5.99999038863690   -2.00001889350037 ]//׼ȷֵ b = [ 6 , -2 ]
c =
[ 4.00004797652415    8.00013139995208 ]//׼ȷֵ c = [ 4 , 8 ]
l =
[ 1380.00000000000 ] //ܹ