三角方程式2                               戻る

 当HPがいつもお世話になっているHN「らい」さんからの出題です。
                                     (平成24年11月11日付け)

  受験生ですが、勉強の合間を縫って一問出題させていただきます。友人との会話から生
まれました。

 関数s[n](x)  c[n](x)をそれぞれ次のように定める。

  s[1](x) = sinx    s[n+1](x) = sin(s[n](x))

  c[1](x) = cosx    c[n+1](x) = cos(c[n](x))

 この時、方程式 s[n](x) = c[n](x) を満たす実数解xが存在するようなnの値を全て求めよ.






























(答) GAI さんが考察されました。

 sinx、cosx は、共に周期が2πなので、[0,2π]で考察してみる。

 n=2 および n>3では、c[n](x)>s[n](x) が成立する。

 よって、 n=1、3 だけ実数解が存在できる、と思う。


(コメント) グラフ描画ソフトのお助けで、確かに、n=2 および n>3では交わっていないよ
      うですね!


 攻略法さんからのコメントです。(平成24年11月15日付け)

 n=1の場合  sinA=cosBより、A±B=(2m+1/2)π (mは整数)

         A=B=x と置いて、交点は、x=(m+1/4)π

 n=2の場合

 sin(sinA)=cos(cosB)より、sinA±cosB=(2m+1/2)π (mは整数)

  -1≦sinA≦1、 -1≦cosB≦1なので、

  -2≦sinA±cosB=(2m+1/2)π≦2 より、m=0

 よって、 sinA±cosB=π/2

 A=B=x と置いて、合成すると、

 sin(x)±cos(x)=√2sin(x±π/4)≦√2=1.414213…<π/2=1.570796…

から、sin(x)±cos(x)=π/2を満たすxは存在しない。したがって、交点はない。


 グラフを描いて考えよう。

 n=2の場合  0<c[1](1)=cos(1)≦c[2](x)≦1

          周期π、nπのとき、最大値=cos(1)

         | s[2](x) |≦s[1](1)=sin(1)

          周期2π、(2m+1/2)πのとき、最大値sin(1)

         (2m-1)π<x<2mπのとき、s[2](x)<0


n→∞の場合

     c[1](x)=cosx、c[n+1](x)=cos(c[n](x))は、c[∞](x)=x0(定数)となる。

 UBASICのプログラムで確認してみました。

テイラー展開より、cos(x)=1-x^2/2!+x^4/4! … なので、x=1-x^2/2!として、x^2+2x-2=0

 よって、x=-1±√3

list
   10   X=-1+sqrt(3) '初期値(近似値)
   20   print 0;X
   30   for N=1 to 20 '反復法 c[n+1](x)=cos(c[n](x))
   40   X=cos(X)
   50   print N;X '過程
   60   next N
   70   print X-cos(X) 'x=cos(x)を満たすxに収束する
OK

run
0  0.7320508075688772935
1  0.7438052149775547789
2  0.7358974080803298203
3  0.7412286644376300089
4  0.7376395279582761535
5  0.7400581377059665506
6  0.738429355929257731
7  0.7395267137322468302
8  0.7387876072183223705
9  0.739285517590125828
10  0.7389501370520526931
11  0.7391760615197170956
12  0.7390238797601406927
13  0.7391263928927468661
14  0.7390573395709313743
15  0.7391038550627792014
16  0.7390725218238695112
17  0.7390936283412641515
18  0.7390794107693591175
19  0.7390889879113876927
20  0.7390825366399223434
-0.0000043456570619621
OK


反復回数を多くすると、

  :
  :
96  0.7390851332151606413
97  0.7390851332151606418
98  0.7390851332151606415
99  0.7390851332151606417
100  0.7390851332151606415
-0.0000000000000000001
OK


 らすかるさんからのコメントです。(平成24年11月15日付け)

 単なる数値計算ですが、x=cosxの解を求めるのにニュートン法を使うと、

初期値 -1+√3, x←x-(x-cosx)/(1+sinx)

 0 0.732050807568877293527
 1 0.739096139913583253511
 2 0.739085133241910334594
 3 0.739085133215160641655

たった3回で20桁求まりますね。