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

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

sin(x) は電卓ではどのように計算される?

 sin(x) は PC や電卓ではどのように計算されているのでしょう。テイラー展開かなと思ったのですが、x = 0 における sin(x) の n = 5 までのテイラー展開(マクローリン展開)は   x - x^3/3! + x^5/5! = x - x^3/6 + x^5/120 となり、グラフを描くと -π/2<x<π/2 の範囲では十分使えそうですが x = ±πに近いところでは誤差が大きくなります。   π/2 ≒ 3.141592654/2 ≒ 1.5708   1.5708 - 1.5708^3/6 + 1.5708^5/120 = 1.00452492887866   3.1416 - 3.1416^3/6 + 3.1416^5/120 = 0.524044823764988

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

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

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

musume12
質問者

お礼

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

その他の回答 (3)

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答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
  • ベストアンサー率54% (287/523)
回答No.1

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

関連するQ&A

  • sin(x)のマクローリン展開

    明日解析のテストがあるのですが、 わからないところあります。 sin(x)のマクローリン展開を n回微分を用いて求める問題なのですが (sin(x))'=cos(x)=sin(x+pi/2) 同様にして (sin(x))^(n)=sin(x+pi*n/2) ここからマクローリン展開の係数の 出し方がわかりません。どなたか よろしくお願いします。

  • テイラー展開とsin(x)

    P_2n+1(x)を2n+1番目のsin(x)のテイラー展開とするとき、 sin(x) = P_2n+1(x) + R_2n+1(x)とする。 この場合、P_2n+1(x^2)がsin(x^2)のテイラー展開の4n+2番目であることを証明します。 lim R_2n+1(x^2) = 0 n→∞ を使えばこの証明ができるようなのですが、どう使うのかが分かりません。

  • f(x)=1/(1-3x)について

    f(x)=1/(1-3x)について (1)自然数nに対して、第n次導関数を求めよ (2)関数f(x)のマクローリン展開(x=0におけるテーラー展開)を求めよ この問題がわかりません 数学に詳しい方、得意な方 片方だけでもいいので教えて下さい よろしくお願いします

  • 剰余項の収束、n次導関数、どっちに採点の基準が置かれるか?

    ある関数f(x)があって、f(x)のマクローリン展開(x=0におけるテイラー展開)を求めよ、と言われたら、剰余項の収束がきちんと示されているか いないかのところで、ほとんどの点数が決まりますか? f(x)のn次導関数を導く手順はあまり重視されないですよね? たとえば、sinxのマクローリン展開を示したい場合、sinxのn次導関数sin(x+nπ/2)を、数学的帰納法を使って長ったらしく書いて証明して、テイラーの式に当てはめて正しいマクローリン展開の式が導けたとしても、肝心の剰余項について触れずに終わってしまってる答案は、ほとんど点数がつかないのではないかと思ったのですが、どうなんでしょうか?

  • x>1のとき、exp(x)または10^xの近似値を電卓だけで求めたい。

    x>1のとき、exp(x)または10^xの近似値を電卓だけで求めたい。 x≒0のとき、sinx゜≒180x/π みたいな近似式が指数関数でもできないかと思っています。 有効数字2桁くらいのもので結構ですので メモ用紙(ハガキ大程度)と電卓(もちろん関数電卓は×)くらいで求められないでしょうか? テイラー展開式exp(x)=1+x+(x^2)/2!+(x^3)/3!+… は一応知っております。 (x>1なので困っているんですが…)

  • マクローリン展開の問題です!!

    sin(0.1)の近似値を関数sin(x)のマクローリン展開のx^5の項までを計算して求めよ。また誤差|R6|を評価せよ。 お願いします。

  • 関数電卓の内部計算について

    関数電卓で三角関数や指数関数などを計算するとき内部ではどのような計算をしているのでしょうか? テイラー級数展開ではないと聞いたことがあるのですが… また、計算機メーカーによって採用している計算式が違うのでしょうか?

  • テーラー展開するには

    e^-xをテーラー展開するということはマクローリン展開すればよいのですか?問題ではxの値が指定されていません。さらに、近似誤差が1%以内となるxの値も問われています。どうすればよいか詳しく教えてください。

  • テーラー展開とマクローリン展開

    独学なのでいまいちはっきりわからなく。。。 f(x)のテーラー展開 Σ(n=0~∞) (☆/n!)(x-a)^n (☆はf(x)をn回微分したものにaを代入した値) 1)マクローリン展開はテーラー展開の一種である。(テーラー展開のaに0を代入したものをマクローリン展開という) 2)aに代入する値は別に何の数字であっても展開はできる 3)テーラー展開は基本的に無限回微分可能な関数をf(x)=多項式の形に直すのに使われる という理解でいいのですか? 間違ってたら訂正お願いします。 またこれはいつ使うのでしょうか。。?

  • cos(πx)(πx はパイエックス)のマクローリ

     cos(πx)(πx はパイエックス)のマクローリン展開はcos(θ)のマクローリン展開        ∞ (-1)^n   cos(θ) = ∑ ────θ^(2n)        n=0 (2n)! のθにπxを代入して整理するだけでいいのでしょうか? ちょっとめんどくさそうですけど。