📄 absfunwidth.m
字号:
function f = absfunwidth(params)
global data
global fit
global amps
global numTao
global numTaoFixed
global taoFixed
global t
global tzero
global chisq
global shift
global textBox
global absLeftEnd1
global absRightEnd1
global absLeftEnd2
global absRightEnd2
%This is the function referred to in the call to "leastsq".%It assumes the form:%y(x)=a11*exp(-k1*t)+a12*exp(-k2*t)+. . .+a1n*exp(-kn*t)% a21*exp(-k1*t)+a22*exp(-k2*t)+. . .+a2n*exp(-kn*t) % .% .% .% am1*exp(-k1*t)+am2*exp(-k2*t)+. . .+amn*exp(-kn*t)%and makes available the vector of k values and the matrix%of a values to the script file "fit.m".
tTemp = t(absLeftEnd1:absRightEnd1)-t(absLeftEnd1);
tTemp=tTemp';taoFit(1:numTaoFixed) = taoFixed.^-1;taoFit(numTaoFixed + 1:numTaoFixed + numTao) = params(1:numTao).^-1;
shift = tzero-t(absLeftEnd1);
sigma = params(numTao + 1)/2.355;
space=zeros(length(tTemp),numTao+numTaoFixed);
for j = 1:(numTao + numTaoFixed)
space(:,j) = exp(-taoFit(j)*tTemp).*(1+erf((tTemp-shift-taoFit(j)*sigma^2)/sqrt(2)/sigma))*exp(taoFit(j)*(shift+taoFit(j)*sigma^2/2));
enddatatemp = data(absLeftEnd2:absRightEnd2,absLeftEnd1:absRightEnd1)';a = space\datatemp;z = space*a;f = z - datatemp;
fit = z';
amps = a';
chisq = trace(f'*f);
set(textBox,'string',['chisq = ' num2str(chisq)]);
drawnow;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -