ClearAll;Clear[f1];Clear[f2];
$DefaultFont = {"Times-Roman",10};
Needs["Statistics`DataManipulation`"];
Needs["Graphics`Graphics`"];
cumulative = {312/545,413/545,487/545,522/545,537/545,1};
datapoints = {{0,0},{1,312/545},{2,413/545},
			  {3,487/545},{4,522/545},{5,537/545},{6,1}};
density = {312/545,101/545,74/545,35/545,15/545,8/545};
F1[A_,c_,x_] = 4 A c x/(1 + A c^2) - A x^2;
F2[A_,c_,x_] = 1 - ((1 - A c^2)^2 (c/x)^(2A c^2/(1 - A c^2)))/(1 + A c^2);

f1[A_,c_,x_] = 2 A(c-x) + 2 A c(1 - A c^2)/(1 + A c^2);
f2[A_,c_,x_] = (2A c(1 - A c^2) (c/x)^((1 + A c^2)/(1 - A c^2)))/(1 + A c^2);

FF[a_,c_,x_] = Which[x<=1.5,F1[a,c,x],x>1.5,F2[a,c,x]];

error[a_,c_] = Evaluate[Apply[Plus,Table[(FF[a,c,n]-cumulative[[n]])^2,{n,1,6}]]];

leasterror = FindMinimum[error[a,c],{a,0.1,0.2,0,0.4},{c,2,2.2,1,3}]
aopt = a/.leasterror[[2]]; copt = c/.leasterror[[2]];

F[x_] = Which[x<=copt,F1[aopt,copt,x],x>copt,F2[aopt,copt,x]];
f[x_] = Which[x<=copt,f1[aopt,copt,x],x>copt,f2[aopt,copt,x]];
				
up:= Show[Plot[f[x],{x,0.001,6}],
			PlotRange->{{0,6.05},{0,0.8}},
			PlotLabel->FontForm["(a)  y = F'(x) = f(x)\n        (p.d.f.)",
				{"Courier",10}],
			AxesOrigin->{-0.15,-0.025},
			Axes->True,AxesLabel->{" x","y"}];
			
down:= Show[Plot[F[x],{x,0.001,6},
			PlotRange->{{0,6.05},{0,1.05}},
			PlotLabel->FontForm["(b)  y = F(x)\n     (c.d.f.)",{"Courier",10}],
			AxesOrigin->{-0.15,-0.025},
			Axes->True,AxesLabel->{" x","y"}],
			ListPlot[datapoints]];
Show[GraphicsArray[{{up},{down}}],
		PlotLabel->"                            Figure 24.9\nPrairie dog survival according to (16)-(17)"]