我正在尝试将MATLAB中的曲线拟合到我拥有的数据集中,并尝试获得最小二乘最小化。曲线是高斯函数和指数函数的卷积,所以我使用了for循环,曲线有5个变量。
clip = 8192;
marker=(1:8192);
ti=(1:8192);
counts=counts(1:8192);
sigma=125;
lambda=0.00028;
b=0.69;
a=8;
t0=850;
clear Z;
Z(1:clip,1:clip)=zeros;
marker1=marker;
marker1(1:t0)=0;
Z(ti,marker1);
for i=t0:clip;
Z(:,i)=(exp(-lambda*ti(:))).*(exp(-(power((marker1(i)-ti(:)),2)/(2*sigma*sigma))));
end
est=sum(Z,2);
est=b*est+a;
%chi squared calculation:
delta = counts - est;
error = est.^(1/2);
u=(delta./error).^2;
chi2=sum(u);
chi2red=chi2/(8192-5-1)
其中count是我输入的唯一数据。
我很难找到一个函数来最小化这条曲线,使得它的变量(a,b,sigma,t0,lambda)给出最好的拟合,即输出的'est'(估计)与之密切相关输入'尽可能计数'。任何帮助将不胜感激!