三角方程式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桁求まりますね。