Heh, here is the expanded version of the lolmodel I made:
Here is the MATLAB code:
Code:
clear;
cRatio=[0:.01:2.25];
reso = length(cRatio);
bigar = zeros(10000,reso);
for index=1:reso
randy = cRatio(index)*10/9 + rand(10000,1)*8/9 - 3/19;
for n = 1:10000
if randy(n) < 1.3
bigar(n,index) = (randy(n) - .3);
else
if randy(n) < 1.5
bigar(n,index) = 1;
else
if randy(n) > 1.5
bigar(n,index) = (randy(n)-.5);
end
end
end
if bigar(n,index) > 3
bigar(n,index) = 3;
end
if bigar(n,index) < 0
bigar(n,index) = 0;
end
end
end
plotar = zeros(3,reso);
plotar(1,1:reso) = cRatio;
plotar(2,1:reso) = min(bigar);
plotar(3,1:reso) = max(bigar);
figure; plot(cRatio,plotar(2,:)); hold on; plot(cRatio,plotar(3,:));
figure; hist(bigar(:,1),50);
It's horrible, I'm a bad taru, etc. Solly, but cope.
Edit: I should note that I just intended this as a model of the shape and didn't bother dicking around with constant to get it precisely correct. Also, I haven't really figured out how to incorporate critical hit rate yet (if it would work) and I ignored the 1~1.05 randomizer that gets tacked on at the end.
I was expecting to test some low pDIF values tonight, but Rena is ahead of me! I might still do it tomorrow, but I'm sleepy >:/
Edit 2: Critical Hit minimum is approximately cRatio + .5 and maximum is approximately cRatio + 1.2.
Spoiler: Here is Masa's 1H data, corrected for inconsistent fSTR and plotted with the above fit using the above constants:
You can see why critical hits are going to pose a problem with a scheme like this. I could wave my hands and say that 10/9 is within tolerance for most of the data, but I can't account for the critical hit max. I mean, we have to accept that the crit max/mins are less rigorously tested than the non-crits simply because the tests were performed with about a 30% crit rate. I would not feel bad about changing the intercept of the lower crit boundary a little, and putting a line with 10/9 slope low enough to account for the values.
If I was going to adjust the crit max slope though, based on Masa's numbers I would be inclined to decrease it a little and bump the intercept up.