24小时热门版块排行榜    

查看: 535  |  回复: 0

低垂的野花

新虫 (正式写手)

[求助] 求助如下的Matlab拟合函数怎样在cftool中使用

关于一个衰减的拟合函数,最后拟合出衰减寿命tau1,tau2,求教各位,怎样在matlab中正确使用该拟合函数?


function y =expfit_gekoppelt(x,A,t0,C,tau1,tau2,B,FWHM)
%y=0*x;
%for i = 1:length(x)
%    if x(i) < t0,
%        y(i) = A;
%    else
%        y(i) = A+C*exp(-(x(i)-t0)/tau1)-B*exp(-(x(i)-t0)/tau2);
%    end
%end
   
% initialize return variable:
%z = 0*x;
y = 0*x;
% prepare for convolution: gaussian on a time window

twin =  [-1:0.01:1] * 3*(FWHM/(2*sqrt(2*log(2))));
g = 1/sqrt(2*pi) * 1/(FWHM/(2*sqrt(2*log(2)))) * exp(-twin.^2/2/(FWHM/(2*sqrt(2*log(2))))^2);
g=g/sum(g);         %Normierung?

%A=1.012;

for nt = 1:length(x)

        % time window centered at t(nt):
        tc = x(nt) + twin;

        % the initial signal on the time window:
        
        %s = A .* (tc < t0) + (A+C*exp(-(tc-t0)/tau1)-B*exp(-(tc-t0)/tau2)) .*(tc >= t0);
    %s = A * (tc < t0) + (B + (A-B) * exp(-(tc-t0)/tau1) +(B-C) * exp(-(tc-t0)/tau2)) .* (tc >= t0);
        s = A * (tc < t0) + (B + (A-B) * exp(-(tc-t0)/tau1) +abs(B-C)+(B-C) * exp(-(tc-t0)/tau2)) .* (tc >= t0);
        % measured signal: initial folded with gaussian:
        y(nt) = sum(s .* g);

end

end
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 低垂的野花 的主题更新
信息提示
请填处理意见