FindRoot[] を使って、
の正の範囲の解を求める。
,
のグラフを描いて、
の近くの解を求めてみる
(16桁精度、50桁精度)。
f[x_]:=Tan[x]
g[x_]:=-x
Plot[{f[x],g[x]},{x,0,100}]
solnear[x0_]:=FindRoot[f[x]==g[x],{x,x0}]
solnear[2]
solnear2[x0_,prec_]:=FindRoot[f[x]==g[x],{x,x0},WorkingPrecision->prec]
solnear2[2, 50]
|
Solve[] にしても FindRoot[] にしても、 解の値ではなく、代入規則を結果として返す。
代入規則でなく、値が欲しいならば。 x /. (変数名 スラッシュ ドット) の後に代入規則を続けて、 x への一時的な代入を実行すれば良い。
solnear3[x0_]:=x /. FindRoot[f[x]==g[x],{x,x0}]
solnear3[2]
|
の正の解の、小さい方から
番目の値を
として、
それを計算する関数 lambda[] を作った
(そのコードは後述する)。
それを使うと lambda[
] で
が得られる。
| 実行結果 (In[] := の右側が入力したもの) |
In[] := lambda[1]
Out[] = 2.02876
In[] := lambda[5]
Out[] = 14.2074
In[] := Table[lambda[n],{n,10}]
Out[] = {2.02876, 4.91318, 7.97867, 11.0855, 14.2074, 17.3364, 20.4692, 23.6043, 26.7409, 29.8786}
|
Farlow [1] の 表7.1 と見比べよう。