(*2章3節の例題計算*)

(*Mathematica の楕円積分の引数の定義がFayの本と違っている*)

(*EllipticK[p*p]]<-->E[p](Fay)とすればよい.また，Mathematica の楕円積分の引数は，たとえば，EllipticF[phi,p2] となっていることに注意（角度が先で，p2があと）*)

Clear["Global`*"];
L=150;
k=Sqrt[5/(30*10^6*2.5*0.25^3/12)];
fn=L-1/k*(EllipticK[p*p]-EllipticF[ArcSin[0.707/(p)],p*p])

(*根p の存在範囲を探る*)

Do[Print[ p," , ",fn],{p,0.1,1,0.1}]

(*これより，p が0．8付近に根が存在する．次は，FindRootによる求根*)

pans=FindRoot[fn==0,{p,0.8}][[1]][[2]]

(*このp2を用いて式（2．23）よりLを求める*)

(*h=2p/k の計算*)

h=2*pans/k

phiB=ArcSin[0.707/pans]

(*はり先端水平たわみ*)

Delta=L-h*Cos[phiB]

(*はり先端垂直たわみ*)

sdelta=1/k*(2*EllipticE[phiB,pans*pans]-EllipticF[phiB,pans*pans]-2*EllipticE[pans*pans]+EllipticK[pans*pans])