三角関数表の数値はどうやって計算しているんですか?
2010/2/1807:57:13
三角関数表の数値はどうやって計算しているんですか?
- 閲覧数:
- 3,702
- 回答数:
- 3
ベストアンサーに選ばれた回答
編集あり2010/2/1809:35:28
昔、電子計算機がない時代に
どうやってsinやcosの値を求めていたのか?
と考えてみると
実は
マクローリン展開という武器があります
微分を利用した初等関数を
多項式に展開する手法です
一般には
f(x)=Σ(n=0→∞){f_n(0)/n!}・x^n
となります
ここで、f_nとはfのn階微分です
これを用いると
sinx=x-(x^3/3!)+(x^5/5!)-・・・+(-1)^n・x^(2n+1)/(2n+1)!
cosx=1-(x^2/2!)+(x^4/4!)-・・・・+(-1)^n・x^(2n)/(2n)!
となります
このxに具体的な数値(単位はラジアン)を代入して計算します
これなら、手計算でも大変だけどなんとかなりそうですね
これをxの次数を増やすことで、より誤差の少ない近似値を得られます
tanxについては
sinx/cosxでいいでしょう
昔の人々は、こうやって大変な手計算をしながら
三角関数表は対数表を作ったのでしょう
マクローリン展開とは
x=0のまわりでテイラー展開することなのです
参考に
http://ja.wikipedia.org/wiki/%E3%83%86%E3%82%A4%E3%83%A9%E3%83%BC%E...
をご覧ください
ちょい足しを取り消しますが
よろしいですか?
- 取り消す
- キャンセル
ベストアンサー以外の回答
1〜2件/2件中
- 並び替え:回答日時の
- 新しい順
- |古い順
2010/2/1810:05:06
以下は、PC 十進BASIC で実行するプログラムです。
20 DEF FNTRI(X)=3*X-4*X^3
40 LET N=0
LET L=0.01
60 INPUT PROMPT "theta(in degree)=":THETA
80 LET RADIAN=THETA*3.14159/180
LET X=RADIAN
100 LET N=N+1
120 LET X=X/3
140 IF X>L THEN GOTO 100
160 LET SX=X
180 FOR I=1 TO N
200 LET SX=FNTRI(SX)
220 NEXT I
240 PRINT" ===> sin(theta)=";SX
260 LET N=0
GOTO 60
280 END
ちょい足しを取り消しますが
よろしいですか?
- 取り消す
- キャンセル
ちょい足しを取り消しますが
よろしいですか?
- 取り消す
- キャンセル
- 連携サービス
- ブログ
- textream(掲示板)
- ペット
- Chocotle(動画アプリ)