0

我正在尝试将 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)

其中 counts 是我输入的唯一数据。

我很难找到一个函数来最小化这条曲线,使其变量(a,b,sigma,t0,lambda)给出最佳拟合,即输出的“est”(估计)与输入密切相关'计数'尽可能。任何帮助将非常感激!

4

0 回答 0