データで迫る三角関数

順天サイエンスライブラリ3
データで迫る三角関数
このテキストは,読者がエクセルなどの表計算ソフトを使って実際にデータを解析しながら読むことを前提にし
て作られている。ぜひ自らデータを解析し,グラフをエクセルの機能を用いて描いてみることをお勧めする。
教科書の巻末に,三角関数の表が載っている。一部分を再現してみよう。
1
x(°)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sinx°
0.00000
0.01745
0.03490
0.05234
0.06976
0.08716
0.10453
0.12187
0.13917
0.15643
0.17365
0.19081
0.20791
0.22495
0.24192
0.25882
cosx°
1.00000
0.99985
0.99939
0.99863
0.99756
0.99619
0.99452
0.99255
0.99027
0.98769
0.98481
0.98163
0.97815
0.97437
0.97030
0.96593
tanx°
x(°)
0.00000
16
0.01746
17
0.03492
18
0.05241
19
0.06993
20
0.08749
21
0.10510
22
0.12278
23
0.14054
24
0.15838
25
0.17633
26
0.19438
27
0.21256
28
0.23087
29
0.24933
30
0.26795
sinx°
0.27564
0.29237
0.30902
0.32557
0.34202
0.35837
0.37461
0.39073
0.40674
0.42262
0.43837
0.45399
0.46947
0.48481
0.50000
cosx°
0.96126
0.95630
0.95106
0.94552
0.93969
0.93358
0.92718
0.92050
0.91355
0.90631
0.89879
0.89101
0.88295
0.87462
0.86603
tanx°
0.28675
0.30573
0.32492
0.34433
0.36397
0.38386
0.40403
0.42447
0.44523
0.46631
0.48773
0.50953
0.53171
0.55431
0.57735
(表1)
この表 1 の数字を眺めて,何か気
x(°) Δsinx° Δcosx°
がつくことはないだろうか。
1
2
3
4
5
6
7
8
9
10
数字が規則的に並んでいるのは,数列と考
えることができる。数列の振る舞いを予想
する手段のひとつとして,階差数列を取る
ことは,有力である。
表 2 は正弦,余弦,正接の各列の下の段か
ら上の段を引いた値を並べたものである。
sin x と tan x の階差数列は余り値が変化
していない。このことと,x  0 のときの値
が 0 であることを考え合わせると、 sin x
と tan x は,大体 x に比例することが分か
0.01745
0.01745
0.01744
0.01742
0.01740
0.01737
0.01734
0.01730
0.01726
0.01721
-0.00015
-0.00046
-0.00076
-0.00107
-0.00137
-0.00167
-0.00198
-0.00228
-0.00258
-0.00288
Δtanx°
0.01746
0.01747
0.01749
0.01752
0.01756
0.01762
0.01768
0.01776
0.01784
0.01794
(表2)
る。
このことをひと目で理解するためには,グラフ
(グラフ1)
を利用するとよい。
0.30000
グラフ 1 は、角度が10度までの正弦
0.25000
と正接の値をグラフにしたものである。大きな
0.20000
y
sinx°
0.15000
角度の値まで含めた場合とずいぶん違って見
tanx°
えることに驚くかもしれないが,両方のグラフ
0.10000
とも,ほとんど直線といっていいほどまっすぐ
0.05000
0.00000
0
2
4
6
8
x(°)
10
12
14
16
-1-
であることが見て取れるであろう。
結論
小さい角度では,正弦関数や正接関数は,正比例関数とほとんど同じである。
2
今得た結論を利用すると,正弦関数 sin x は角度 x が小さい範囲では大体正比例関数とみなしてよ
い。表2より,比例定数は,
大体 0.01745 と考えられる。つまり,
sin x  0.01745x
と書いてよい。同様に,
tan x  0.01745x
とも書いてよい。
さて、気になるのはこの比例定数 0.01745 である。これは何を
表しているのだろうか。角度の測り方として,われわれはこの度数法の
他に弧度法というのを知っている。角度を弧度法で表してみるとどうな
るだろうか。(表3)は、角度を弧度法で測った三角関数の値の表である。
グラフを描くまでもなく,弧度法で書いた場合の比例定数は1であるこ
とが分かる。つまり
x(rad)
0.02
0.04
0.06
0.08
0.10
0.12
0.14
0.16
0.18
0.20
sinx
0.0200
0.0400
0.0600
0.0799
0.0998
0.1197
0.1395
0.1593
0.1790
0.1987
cosx
0.9998
0.9992
0.9982
0.9968
0.9950
0.9928
0.9902
0.9872
0.9838
0.9801
tanx
0.0200
0.0400
0.0601
0.0802
0.1003
0.1206
0.1409
0.1614
0.1820
0.2027
(表3)
sin x  x
tan x  x
が,角度 x が小さい範囲では成り立つ。このことは,図1(次ページ)を見れば直観的に理解できるであろう。
図1において中心角 BOA を x (rad),半径 OA を1とすれば, sin x は線分 AB の長さ, x は弧 TA の長さ,
そして tan x は線分 TU の長さである。中心角の大きさ x を小さくすればこの曲がり方が無視できるほどにな
るので,3つの長さはほぼ等しくなる。
A
U
3
ここで,2ページの下線部「角度 x が小さい範囲」
の意味するものを考えてみよう。sin x は表3の範囲では確か
に x と非常に近いが,たとえば x    3.14 においては
O
B
T
sin x  0 となり, x とはぜんぜん違う。 x が小さい範囲では
無視しても差し支えなかった部分が x    3.14 のよう
に小さくない部分では無視できなくなる結果,こんなずれが
(図1)
出てきたと考えられる。では,無視できる部分とは,どんな
ものなのだろうか。例を用いて考えてみよう。
f  x   1  3x  5 x 2  2 x 3  4 x 4
について, f 0.01 を,小数点以下第 2 位まで求めよ。
例題
x  0.01 のとき,
3x  0.03
5x 2  0.0005
2 x 3  0.000002
4 x 4  0.00000004 であるから,
f 0.01  1.03050204
-2-
小数点第 2 位までとると,1.03・・・(答え)
なんだかずいぶん無駄な計算をしたと思わないだろうか?
結局答えに関係があるのは, 1 3x の部分だけで,第 3 項以降はあってもなくても同じである。つま
り, x かそれより次数の大きい項は 1 や x に比べて無視できるほど小さい。このように,(正の)数 x (の絶
2
対値)が1に比べて十分小さいときは, x 2 は x に比べて十分小さく, x 3 は x 2 に比べて十分小さく,・・・とい
うように, x についての次数が高くなるほど数は小さくなるので,ある程度までの精度しか必要ない場合,多項
式をある次数で打ち切っても問題が起こらない。
多項式のどの次数まで計算するかということは,x が1に比べてどのぐらい小さいかということと,
近似値をどのぐらい正確に計算したいかということを量りにかけて決めればよい。例題では,式の値を小数
点以下4桁まで計算したければ x 2 の項までが重要であるし, x  0.18 のように, x の値が少し大きくなった
ときは,小数点以下第2位までの計算でも x 2 の項までが重要である。
今調べたことから, sin x や tan x を
sin x  x
tan x  x
と近似したときに無視した部分は x よりも次数が高い項であると考えられる。これから,この近似のときに
無視した部分についてもっと詳しく調べることにする。
sin x を x で近似した残りの部分 s1 x   x  sin x について考えよう。ここで,図 1 よりより x  0 の
ときは sin x  x であるから, s1 x   0 になるような方向に差をとった。
4
x
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
sinx
0.000000
0.099833
0.198669
0.295520
0.389418
0.479426
0.564642
0.644218
0.717356
0.783327
0.841471
s1(x)
0.000000
0.000167
0.001331
0.004480
0.010582
0.020574
0.035358
0.055782
0.082644
0.116673
0.158529
(表3)
表3は, x の刻みを0.1にして s1 x  を計算したものである。 x が増えるに
したがって s1 も急激に増加していることが分かる。前の節で調べたことによ
り, s1 x  は x の関数として1次より高い次数を持つと考えられる。そのこと
は, x が1より小さい範囲において, s1 x  のグラフを描いてみるとことによ
り目に見える形で示すことができる。
こ
のグラフはみん
0.012
なのよく知
y  x2
っ
0.01
て
い
る
y  x3 の グ ラ
や
0.008
フのように
している。しかし、このグラフが2次関数
原点で x 軸に接
なのか3次関数
0.006
なのか,それとも5次関数なのかを判断す
るのはことのほ
0.004
3
y  x2 な ど と
か難しい。正弦関数は多項式ではないから
0.002
いう可能性だってある。
グラフ3-5に2次関数から4次
0
0
フを描いたが,区別がつくだろうか?
0.1
0.2
0.3
x
(グラフ2)
y  s1 x   x  sin x
-3-
0.4
関数までのグラ
0 .6
0 .5
0 .4
0.6
0 .6
0.5
0 .5
0 .4
0 .4
0 .3
0 .3
0 .2
0 .2
0.1
0 .1
0 .3
0 .2
0 .1
0
0
0
0 .1
0 .2
0 .3
0 .4
0
0 .5
0.1
0.2
0.3
0.4
0.5
0
0
0 .1
0 .2
0 .3
0 .4
0 .5
(グラフ3)
(グラフ4)
(グラフ5)
グラフが x 軸に接するあたりの様子を注意深く観察すれば区別することはできる。しかしこの中の
ひとつを取り出して単独で見せられたときに,それが何次関数であるかということを判定するのは不可能で
あることが分かったであろう。
ちなみに正解は左から2次関数,4次関数,3次関数である。それぞれ y  2x , y  8x , y  4x
2
4
3
のグラフである。
5
グラフ3からグラフ5の関数を,縦軸も横軸も常用対数(底が10の対数)をとってグラフを描いて
みよう。これを両対数目盛りのグラフという。今
度は,3つのグラフを同じ座標軸に描いてみる。
0
-2
-1.5
-1
-0.5
0
驚いたことに,グラフはすべて直線にな
-1
る。(聡明な皆さんは驚かなかったかもしれない
が・・・)グラフ6の凡例で l 2, l 3, l 4 と示されてい
-2
るのは,それぞれ x の 2 乗,3乗,4 乗に比例し
-3
l2
l3
l4
-4
-5
ていることを表す。グラフからそれぞれのグラフ
はすべて直線だが,次数によって傾きが違うとい
うことが読み取れる。この事実を,式を用いて確
認しよう。
-6
y  ax n ・・・(ア)
-7
(グラフ6)
のグラフの縦軸と横軸の常用対数をとってみよ
う。
-8
つ ま り , u  log10 x を 横 軸 に ,
v  log10 y を縦軸にとってグラフを描く。すると,
 
v  log10 y  log10 axn  n log10 x  log10 a  nu  b ・・・(イ)
となり, v は u の一次関数で表せた。ただしここで log10 a  b と置いた。したがって,v を縦軸に u を横軸に
とってグラフを描くと,傾きが次数 n であるような直線になる。変形を逆から行えば,両対数目盛りのグラ
フが傾き n の直線になるような関数は y  ax の形に表せることが分かる。
n
-4-
つまり,よく分からない関数があって、その関数の両対数目盛りのグラフを描いて直線になれば
y  ax n の形で表せることが分かり,さらにその直線の傾きを測れば次数 n を決定することができるわけだ。
改めてグラフ 6 を見てほしい。グラフから直線の傾きを測定することができるだろう。それは
l 2, l 3, l 4 について,それぞれ 2,3,4 になっているだろうか?
では, y  2 x  4 x のように,異なる次数の項が和で結ばれている多項式の場合は,両対数目盛り
2
3
のグラフによる判定はできないのだろうか。グラフ 7(次ページ)は、 y  2 x  4 x と置いた場合のグラフで
2
3
ある。凡例で v と表したものが今の関数の両対数目盛りによるグラフで, l 2 と表したものは y  2x と,第
2
2 項を無視して考えたときのグラフである。グラフから読み取れるように v と l 2 は左側の方ではほとんど一
致している。つまりそのあたりでは l 2 と同じ傾き2の直線と考えて差し支えないということである。
これは、3ページの3で調べた事実が反映していると考えられる。 x が 1 に比べて十分小さい範囲
では,次数の高い 4x3 は次数が低い 2x 2 に比べて無視できるから、それを対数目盛りで表したグラフでも無
視して差し支えない。
このように異なる次数の項が和で結ばれた
0
-2
-1.5
-1
-0.5
0
関数について,両対数目盛りでグラフを描いてみる
-0.5
と,グラフの左側のほうは,項の中で次数が最も低
-1
いものの次数を傾きとする直線になる。
-1.5
l2
v
-2
6
-2.5
4で調べた s1 x  について,両対数目盛りの
グラフを描いてみよう。その結果をグラフ8に示す。
-3
横
-3.5
-4
軸
は
u  log10 x
,
縦 軸
は
v  log12 s1  log10 x  sin x  である。
(グラフ7)
グラフの左側は,見事に直線になっている。
グラフが v 軸( u  0 ,つまり
v
x  1 )に近づくあたりからグラ
フの傾きが緩やかになっている。
1
これは,x の値が1に比べて無視
できないほど大きくなってきた
ので,次数が最も低い項以外の項
0
-2
-1
-1
0
1
の効果が現れてきたものであろ
-2
う。
最も次数の低い項は何
-3
次の項だろうか。グラフ8から大
-4
体の値を測定することができる。
傾きは 3ぐらいである ことが見
-5
て取れる。3ぐらいであるなどと
-6
いい加減なことをいってよいの
-7
だろうか?それについては,次の
-5-
(グラフ8)
v
節で検討する。
次に,x が1に比べて無視できるほど小さい範囲でこの関数 s1 x  が s1 x   a1 x と表せるとして,係
3
数 a1 の値はどうやって定めるのだろうか。5ページで調べた式(ア)と(イ)を用いると,関数 y  ax の両対数
n
目盛りのグラフの方程式は u  log10 x , b  log10 a として v  log10 y  nu  b であるから,両対数グラフの
直線の「 v 切片」を読み取ることによって係数 a1 の値を求めることができそうである。ところがあいにくな
ことに前に述べたとおり,グラフの v 軸付近,つまり u  0 のあたりは x  1 に対応するので,最も次数が低
い項以外の高次の項の影響が無視できない(グラフが直線とはみなせない)。グラフの左側の直線部分を v 軸ま
で延長する(外挿するという)ことによって推定できなくもないが,正確に決定することは極めて難しそうで
ある。この課題も,次の節で解決することになる。
s1 x  の最も次数が低い項が実は a1 x3 ではなくて a1x3.1 であったとしよう。そのとき,関数
7
計算すると,その最低次の項は a1 x
0.1
になるから, x が1に比べて十分小さい場合,関数
べて小さくなってしまう。また、逆に s1 x  の最も次数が低い項が a1 x ではなくて a1 x
3
2.9
s1  x 
を
x3
s1  x 
の値も1に比
x3
であったとすると,
s1  x 
a
の最低次の項は a1 x  0.1  01.1 になるから,x が1に比べて十分小さい場合,関数の値は1が無視で
3
x
x
3
きるほど大きくなってしまう。s1 x  の最も次数が低い項が正確に a1 x であった場合は,その最低次の項は定
数項 a1 になるから, x が1に比べて十分小さい場合それ以外の高次の項を無視することができて,関数の値
は a1 であるとみなせる。
s x 
つまり,関数 1 3 の x が1に比べて十分小さい場合の振る舞いを調べると, s1 x  (1)最低次の項
x
関数
の次数が本当に3であるかどうかが分かる,のに加えてさらに,(2)最低次の項の次数が本当に3だった場
合その項の係数 a1 を求めることができるのである。
s1 x 
を計算してグラフを
x3
描いてみよう。その結果をグラフ9に示した。 x が 0 に
それでは,実際に y 
s1/x^3
0.2
0.15
近づくにつれて関数の値がある一定値に近づくようすが
0.1
見て取れるだろう。これで,正弦関数 sin x から,正比例
0.05
関数 x を取り除いた部分は x 3 に比例する項を最低次とす
0
0
2
4
6
8
ることが分かった。そして,グラフより, x 3 の項の係数
は大体1.7ぐらいである。
しかし,大体1.7というのでは,これからさ
(グラフ9) y 
s1
のグラフ
x3
らに次数の高い項を調べようとするときには物足りない。
x 3 に比例する部分が少しでも残っていれば, x が十分 0
に近い場合には,結局それが最も重要な項になってしま
うからである。
-6-
x
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0.11
0.12
0.13
0.14
0.15
s1 x  x3
そこで,x が 0 に近い場合の s1 x  x3 の値を実際に表にしてみよう。表
0.166666
0.166663 4 がその結果である。求める a の値は約 0.166666 ということになるが,
1
0.166659
0.166653 ここまでくればこの小数がどうやって計算されるべきものであるかは
0.166646
3
明らかだろう。確認のために, x s1 x  の値も表にしておこう。
0.166637
0.166626
0.166613
これまでの結果をまとめると,次のようになる。
0.166599
0.166583
x が1に比べて十分小さいとき正弦関
0.166566
数は次のように近似できる。
0.166547
0.166526
0.166503
x3
0.166479
sin x  x   o x3
6
(表 4)
 
x
x3 s1 x 
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0.11
0.12
0.13
0.14
0.15
6.00003
6.00012
6.00027
6.00048
6.00075
6.00108
6.00147
6.00192
6.002431
6.003001
6.003631
6.004322
6.005072
6.005883
6.006754
(表 5)
 
3
ここで o x は3次の項に比べて無視
できる項を表す。
8
いままでの手続きを繰り返すと,正弦関数 sin x から次数が3次以下の項を引き去った残りについて,
さらに調べることができる。復習を兼ねて調べる手順を示そう。
(1) sin x から3次以下の次数の項を引き去った残りを s3 x  とする。つまり
s3 x   sin x  x 
x3
6
(2) s3 x  が x の何乗の項から始まるのかということを推定するために,関数 s3 x  のグラフを両対
数目盛りを用いて描く。両対数目盛りを取ったときのグラフの左側が大体直線になることを確かめ
て,その直線の傾き n3 を測定する。 n3 が s3 x  の最低次の項の次数であると推定できる。
(3)(2)で推定した n3 が実際に s3 x  の最低次の次数であるかどうかを確認するために s3 x  x
計算する。もし実際に s3 x  の最低次の次数が n3 より大きい場合は s3 x  x
n3
n3
を
の値は x が1に比べて
十分小さい範囲で0に近づく。また s3 x  の最低次の次数が n3 より小さい場合は s3 x  x
n3
の値は x
が1に比べて十分小さい範囲で1が無視できるほど大きくなる。 s3 x  の最低次の次数が実際に n3
であるときに限り s3 x  x
n3
の値は x が1に比べて十分小さい範囲である一定の値に近づく。その値
-7-
a3 は s3 x  の x n3 の項の係数である。ただし, s1 x  のときの経験から, x n3 s3 x  を計算して1 a3 を
計算した
s3 x 
x
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0.11
0.12
0.13
0.14
0.15
0.16
0.17
0.18
0.19
0.2
x
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0
8.333E-13
2.667E-11
2.025E-10
8.533E-10
2.604E-09
6.479E-09
1.4E-08
2.73E-08
4.92E-08
8.331E-08
1.342E-07
2.073E-07
3.093E-07
4.48E-07
6.325E-07
8.733E-07
1.182E-06
1.573E-06
2.062E-06
2.664E-06
方がわかりやすそうである。
では実際にエクセルで計算し
0.009
たものをお目にかけよう。(1)表6は,x
0.008
が1に比べて小さい範囲の s3 x  の値で
0.007
0.006
0.005
ある。同じ関数の 0  x  1 の範囲のグラ
0.004
フをグラフ10に示した。(2)つぎに、
0.003
s3 x  のグラフを両対数目盛りを用いて
0.002
描いたのがグラフ11である。このグラ
0.001
フの左側は,予想通りほぼ直線とみなせ
0
0
0.2
0.4
0.6
(グラフ10) s3 x  のグラフ
(3)グラフ11における予想を
元にして, s3 x  x5 を計算する。その結
2
果を表7で紹介した。 x が1に比べて十
0
-2
-1.6 -1.2 -0.8
-0.4
0
0.4
0.8
-2
-4
-6
s3 x  x5
-8
(表7)
1
る。直線の傾きを測定して n3  5 を得る。
(表6)
0.008333
0.008333
0.008333
0.008333
0.008333
0.008332
0.008332
0.008332
0.008331
0.8
-10
-12
(グラフ11) s3 x  の両対数目盛りのグ
ラフ
分小さい範囲で 0.008333 と
5
いう一定値に近づいて
x x s3 x 
いる。この値の由来は,
0.01 120.000
いま計算したものの逆
0.02 120.001
数 x5 s3 x  を用いれば簡
0.03 120.002
単にあらわせる。表8を
0.04 120.004
見れば明らかなように
0.05 120.007
x 5 の係数は 1 120 であ 0.06 120.010
った。
0.07 120.014
まとめ
0.08 120.018
0.09 120.023
0.10 120.028
(表8)
x が1に比べて十分小さいとき正弦関数は次のように近似できる。
1
1 5
sin x  x  x3 
x  ox5 
6
120
ここで最後の項は x 5 に比べて無視できる項を表す。
-8-