4 size(pic, 15cm,5cm,IgnoreAspect);
6 scale(pic, Linear, Linear);
10 real g = 0.5772156649;
11 real kB = 1.3806504e-23;
21 real kappa(real i, real Kc=Kc, real Kwlc=Kwlc) {
22 return 1.0/(1.0/Kc + i/Kwlc);
25 real theory(real i, int N, real Kc=Kc, real Kwlc=Kwlc, real ko=ko, real dx=dx,
26 real v=v, real T=T, real kB=kB, real g=g) {
28 return f*(log((kappa(i, Kc, Kwlc)*v)/((N-i)*ko*f)) - g);
31 // todo: colorpen(N,i)
32 graphFile(pic, "data/order.avg-4", xcol=-1, ycol=0,
33 xscale=xscale, yscale=fscale, p=psoft, dots=true);
34 graphFile(pic, "data/order.avg-8", xcol=-1, ycol=0,
35 xscale=xscale, yscale=fscale, p=pmed, dots=true);
36 graphFile(pic, "data/order.avg-12", xcol=-1, ycol=0,
37 xscale=xscale, yscale=fscale, p=phard, dots=true);
38 graphFile(pic, "data/order.avg-16", xcol=-1, ycol=0,
39 xscale=xscale, yscale=fscale, p=black, dots=true);
40 real fn(real x, real[] params) {return theory(i=x, N=4, Kwlc=params[0]);}
41 fitFile(pic, "data/order.avg-4.fit.dat", f=fn, xmin=0, xmax=3,
42 xscale=xscale, yscale=fscale, p=psoft);
43 real fn(real x, real[] params) {return theory(i=x, N=8, Kwlc=params[0]);}
44 fitFile(pic, "data/order.avg-8.fit.dat", f=fn, xmin=0, xmax=7,
45 xscale=xscale, yscale=fscale, p=pmed);
46 real fn(real x, real[] params) {return theory(i=x, N=12, Kwlc=params[0]);}
47 fitFile(pic, "data/order.avg-12.fit.dat", f=fn, xmin=0, xmax=11,
48 xscale=xscale, yscale=fscale, p=phard);
49 real fn(real x, real[] params) {return theory(i=x, N=16, Kwlc=params[0]);}
50 fitFile(pic, "data/order.avg-16.fit.dat", f=fn, xmin=0, xmax=15,
51 xscale=xscale, yscale=fscale, p=black);
53 xaxis(pic, sLabel("Unfolding peak index $i=N_u$"), BottomTop, LeftTicks);
54 yaxis(pic, sLabel("Force (pN)"), LeftRight, RightTicks);
56 picture hist_picture(string datafile,
57 real xmin=-infinity, real xmax=infinity,
58 real ymin=-infinity, real ymax=infinity) {
60 size(pic, 4cm, 3cm, IgnoreAspect);
61 scale(pic, Linear, Log);
62 histFile(pic, datafile, bin_scale=fscale, low=ymin);
63 /* ^-- yscale b/c bins are in Force */
64 xlimits(pic, xmin, xmax);
65 ylimits(pic, ymin, ymax);
66 xaxis(pic, sLabel("Force (pN)"), BottomTop, LeftTicks(N=3), above=true);
67 yaxis(pic, sLabel("Frequency"), LeftRight, RightTicks, above=true);
71 /* ensure consistent ranges across all histograms */
77 add(pic.fit(), (0.0), S);
78 add(hist_picture("data/hist3i.hist", xmin, xmax, ymin, ymax).fit(),
80 add(hist_picture("data/hist3ii.hist", xmin, xmax, ymin, ymax).fit(),
82 add(hist_picture("data/hist3iii.hist", xmin, xmax, ymin, ymax).fit(),
84 label(sLabel("Pulling speed dependence"), point(N)+(0,3cm), N);