This version is identical to the one provided by matlab with a small change if "FPR" or "TPR" are used for X and Y.
Instead of using the tedious "arrayfun" I used vector cumsum functions.
Here is a test for comparison
N = 1e5;
score = [rand(N,1); rand(N,1)-1];
label = [ones(N,1); zeros(N,1)];
perfcurve(label, score, 1);
Elapsed time is 17.614076 seconds.
Elapsed time is 0.164707 seconds.
I hope you will find it useful.
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.