50 lines
2.1 KiB
Mathematica
50 lines
2.1 KiB
Mathematica
|
function [LoadingRate, StandardError, ConfidenceInterval] = jackknifeErrorEstimation(this, ovenObj, NumberOfLoadedAtoms)
|
||
|
n = this.NumberOfAtoms;
|
||
|
Autocorrelation = zeros(1, n);
|
||
|
|
||
|
for i = 1:n-1
|
||
|
FirstTerm = 0;
|
||
|
SecondTerm = 0;
|
||
|
for j = 1:n-i
|
||
|
FirstTerm = FirstTerm + NumberOfLoadedAtoms(j) / j;
|
||
|
SecondTerm = SecondTerm + (NumberOfLoadedAtoms(i+j)) / (i+j);
|
||
|
Autocorrelation(i) = Autocorrelation(i) + ((NumberOfLoadedAtoms(j) / j) .*(NumberOfLoadedAtoms(i+j) / (i+j)));
|
||
|
end
|
||
|
Autocorrelation(i) = (1/(n-i)) * (Autocorrelation(i) - ((1/(n-i)) * FirstTerm * SecondTerm));
|
||
|
end
|
||
|
|
||
|
if Autocorrelation(1)~=0
|
||
|
|
||
|
Autocorrelation = Autocorrelation./Autocorrelation(1);
|
||
|
|
||
|
x = linspace(1,n,n);
|
||
|
|
||
|
[FitParams,~] = fit(x',Autocorrelation',"exp(-x/tau)", 'Startpoint', 100);
|
||
|
CorrelationFactor = FitParams.tau;
|
||
|
|
||
|
SampleLength = 2*CorrelationFactor+1;
|
||
|
NumberOfJackknifeSamples = floor(n/SampleLength);
|
||
|
CaptureRatioInEachSample = zeros(1,NumberOfJackknifeSamples);
|
||
|
SampleNumberLimit = min(NumberOfJackknifeSamples-1,5);
|
||
|
for i=1:NumberOfJackknifeSamples-SampleNumberLimit
|
||
|
CaptureRatioInEachSample(i) = NumberOfLoadedAtoms(n-ceil((i-1)*SampleLength))/(n-ceil((i-1)*SampleLength));
|
||
|
end
|
||
|
|
||
|
MeanCaptureRatio = sum(CaptureRatioInEachSample) / (NumberOfJackknifeSamples-SampleNumberLimit);
|
||
|
|
||
|
LoadingRate = MeanCaptureRatio * ovenObj.ReducedFlux;
|
||
|
|
||
|
Variance=0;
|
||
|
for i=1:NumberOfJackknifeSamples-SampleNumberLimit
|
||
|
Variance=Variance+(CaptureRatioInEachSample(i) - MeanCaptureRatio)^2;
|
||
|
end
|
||
|
StandardError = sqrt(Variance/(NumberOfJackknifeSamples-SampleNumberLimit));
|
||
|
|
||
|
ConfidenceInterval = LoadingRate + 1.96*StandardError; % 95% Confidence Intervals
|
||
|
|
||
|
else
|
||
|
LoadingRate = nan;
|
||
|
StandardError = nan;
|
||
|
ConfidenceInterval = [nan nan];
|
||
|
end
|
||
|
end
|