/usr/share/psychtoolbox-3/Psychometric/WeibTAFCFitFun.m is in psychtoolbox-3-common 3.0.9+svn2579.dfsg1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | function [f,g] = TAFCFitFun(x,level,nCorrect,nError)
% [f,g] = TAFCFitFun(x,level,nCorrect,nError)
%
% 8/26/94 dhb, ccc Fix range checking bug left from YN conversion.
% Unpack vector x
alpha = x(1);
beta = x(2);
% Force really big error if alpha or beta <= 0
if (alpha <= 0 | beta <= 0)
f = 1e25;
g = -1;
return;
end
% Compute Weibull function on input levels
pCorrect = ComputeWeibTAFC(level,alpha,beta);
% Handle range problem, can't take log(0);
tol = 1e-4;
o_index = find(pCorrect == 1);
if (~isempty(o_index))
pCorrect(o_index) = (1-tol)*ones(length(o_index),1);
end
% Compute error function, which is -log(likelihood).
tmp = nCorrect.*log(pCorrect) + nError.*log(1 - pCorrect);
f = -sum(tmp);
g = -1;
|