• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sin(x) は電卓ではどのように計算される?)

sin(x)の計算方法について

このQ&Aのポイント
  • sin(x)の計算方法について知りたいです。PCや電卓でどのように計算されているのでしょうか?
  • sin(x)のテイラー展開についても教えてください。特にx=0におけるn=5までのテイラー展開(マクローリン展開)について知りたいです。
  • テイラー展開では、-π/2<x<π/2の範囲では正確な結果が得られることがわかりましたが、x=±πに近いところでは誤差が大きくなることがわかりました。なぜそのような誤差が発生するのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ubku
  • ベストアンサー率37% (227/608)
回答No.4

何もないところから数式ではじき出していると思われがちですが、実はあらかじめ計算しておいた表を内蔵しています。 といっても全てのxに対して表を持つのは現実的には不可能なので、表を元にCORDICアルゴリズムで合成します。 http://bfin.sakura.ne.jp/?p=445 CORDICアルゴリズムでは、加減算とシフト操作のみの繰り返しで答えに収束するように工夫してあります。また表の中身についても必要最小限(数十個のデータで十分)で済むように工夫されています。素晴らしいですね。 蛇足 シフト操作とは2進数のビット列をずらすことです。 左にひとつずらすたびに2倍になり 右にひとつずらすたびに1/2になります。

musume12
質問者

お礼

 興味深い回答、まことにありがとうございました。他の皆さんの回答もありがたいものでした。深く感謝いたします。

その他の回答 (3)

  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.3

電卓でのアルゴリズムについては、 cordic あたりでググると、いい結果が 得られるかもしれませんし、 得られないかもしれません。

  • 178-tall
  • ベストアンサー率43% (762/1732)
回答No.2

電卓では、sin(x) = x - x^3/6 + x^5/120 などが使われている模様。 パソコンだと、   ↓ 参考 URL / sinc(x) = sin(x)/x の無限乗積 の手法 (角度を 2^n 分していき sinc(x) を 1 に十分近似させて、その細分角を 2^n 倍する、という手) なども使うようです。   

参考URL:
http://www.calpoly.edu/~kmorriso/Research/cosine.pdf
  • gamma1854
  • ベストアンサー率52% (319/605)
回答No.1

確かなところは分かりませんが、関数の周期性を利用し、|x| をpi/4 以下にして計算しているものと思います。

関連するQ&A