三角関数の計算がおかしい

このQ&Aのポイント
  • 三角関数の計算において角度の入力精度が重要な理由は何でしょうか?底辺の長さを求める際にも正確な角度が必要なのでしょうか?
  • 三角関数の計算において、角度の小数点以下の精度が重要です。底辺の長さを求める際には正確な角度の値を使用する必要があります。
  • 三角関数の計算において、角度の精度は計算結果の正確さに影響を与えます。底辺の長さを求める際には、小数点以下の桁数を増やすほど正確な値が得られます。
回答を見る
  • ベストアンサー

三角関数の計算がおかしい

詳しく書くと長くなりますので要約します。 図がなくて申し訳ないのですが、斜辺→1000、高さ→3,15、底辺→?として三角形を描きます。 三平方の定理を展開して、?²=1000²-3,15² 即ち 底辺?=999,9950387であるということは関数電卓で一瞬で計算することができます。 ただ、一旦角度を求めて逆算するとなんかおかしい数字になります。 まず最初に解ってる斜辺1000、高さ3,15はsinなのでsinで角度を求めると、 0,1804820039°になります。 0,18°としてtanで底辺?を求めると  ?=3,15÷tan0,18 ?=1002,672843 と、ミリ単位で誤差が出て、100分台の精度でワークを削る機械加工において致命的なミスが出ます。 ただ小数点以下10桁、0,1804820039°として底辺?を求めると  ?=3,15÷tan0,1804820039 ?=999,9950387 となり、三平方の定理を展開して計算した数値と同じ答えが出ます。 なぜこのようなことになるんでしょう?角度は小数点以下3桁まででいいや、と勝手に決めて計算したらダメですか? 関数電卓で小数点以下10桁まで入力しないといけない理由を教えて下さいませんか?1000万分の何°という数字が必要なんでしょうか? 皆さん回答ありがとうございます。多くの方から回答を頂き感謝しています。 しかし、すぐに理屈を理解できません。自分の無知を恥じながら時間がかかったとしても理解しようと思います。 現時点での認識ですが ?最終的に角度を求めるだけなら小数点以下3桁もあれば充分。 ?しかし、求めた角度を使って底辺の長さを求めるなど、更に計算を続けるなら、小数点以下3桁ではダメ。できる限り正確に角度を入力する必要がある。 という認識で宜しいでしょうか?

noname#230358
noname#230358
  • 旋盤
  • 回答数8
  • ありがとう数3

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

  • ベストアンサー
noname#230359
noname#230359
回答No.3

(2)さんのご回答の内容が適切と思います。 その上で、理解の足しになるかもしれませんので、追加の説明を試みます。 3.15mmを基準として、底辺の長さ999.9950387を求めると言うことは、 基準の長さに対して、300倍以上の長さを求めようとすることなので、 その倍率を決めるtanの計算について、十分な精度を与える必要がある あるのです。 直角三角形の底辺と高さの関係を逆に考えて、 底辺の長さ999.9950387mmから、高さ3.15mmを求めるとすすとき、 tanに入力する角度を、0.18°と0.1804820039°との場合を比較すると 次の通りです。    999.9950387mm×tan0.18    =3.1411mm   999.9950387mm×tan0.1804820039=3.1500mm (-   ----------------------------------------                  Δ0.0089mm     1/100mm程度の差異の計算結果が得られます。 このように、基準の長さに対して、短い寸法を計算する場合は、角度に 対して10桁もの有効桁を必要としません。 もう少し数学的に考えてみたとき、 tan 0の値は、0なので、一定の数をtan 0で割ると、解が求まりません。 これを工学的に言い換えると、一定の数をtan で割る場合、角度が0°に近 いと誤差が大きくなると心得ることが宜しいと言うことです。 実際に角度を測定しようとする場合、有効桁数は3桁あれば上出来の部類で しょうが、その値を使って計算する場合は、「角度は小数点以下3桁までで」 では済まない場合があるということです。

noname#230358
質問者

お礼

丁寧な解説ありがとうございました。 今回の件で三角形の性質等、基本から勉強し直してますが少しずつ理屈が解ってきました。 中途半端な知識ほど怖いものはない、というのが今回の教訓です。解らないこと、疑問に思うことはとことん突き詰めて研究を重ねていきたいと思います。

その他の回答 (7)

noname#230359
noname#230359
回答No.8

現状の認識が間違ってる気がするので。。。 ちょっと順番に問題に応えてください 問題? 高さ3.15 角度60°の傾斜を加工しようとして 高さ3.15 角度60.2°で仕上がった 底辺(傾斜範囲)の誤差は0.015 高さ3.15 角度30°の傾斜を加工しようとして 高さ3.15 角度30.2°で仕上がった 底辺(傾斜範囲)の誤差は0.044 同じ0.2°の誤差なのに底辺の誤差は3倍も違う これは何故でしょうか? 問題? 『60°の加工したときに0.2°の誤差がでた』と 『0.18°の加工したときに0.000651°の誤差がでた』 このふたつのうち割合として誤差が大きいのはどっち? 問題? 高さ3.15、角度0.18°の加工をします。 傾斜範囲(底辺)に±0.1mmの公差があります。 0.0005度を誤差として切り捨てていいですか? 要するに、底辺の距離が必要な時には、60°も10°も0.18°も同じ認識で計算してはいけません。 角度を求める時に少数点3桁にすれば、万分代で誤差が出ます。 万分代の角度誤差を許容していいかは、加工ごとに異なるから自分で判断しなさい、ということです。 ガッテンしていただけましたでしょーか?(古い) 答えはあってます ですから、角度計算だから少数点以下3桁とか、その先の計算だから少数点10桁とかではないですよね、 加工の時や図面を見るときに、この角度はヤバイと直感して、少数点以下も切り捨てずに計算したりするのが熟練の加工者かなあと思います。 あと、これは現場ごとに認識は違うとは思いますが、0.18°の加工ではmm単位の誤差もそれほど大きい誤差ではないという考え方もあります それは周囲の先輩方に聞いてみてください

noname#230358
質問者

お礼

回答ありがとうございます。 >角度計算だから少数点以下3桁とか、その先の計算だから少数点10桁とかではないですよね そうです。実際自分で計算してみてよく解りました。 理屈を理解せず計算式だけ応用してもダメ、今更ですがそう感じました。 旋盤加工で使う三角関数なんて、せいぜい図面に明記してある一角と一辺から、tanでもう一辺を求めるぐらいと、大して勉強してなかったなめにこのような質問をするに至りました。不勉強を恥じています。

noname#230358
質問者

補足

回答ありがとうございます。問題の答えですが ?はそもそもtan60=tan30の3倍なので、同じ0,2 度の誤差でも底辺の長さの誤差が3倍になります。 ?高さを3,15とすると、 『60°の加工したときに0.2°の誤差がでた』時の底辺の長さの誤差が 0,0146...... 公差が±0,01とかじゃない限りokです。 『0.18°の加工したときに0.000651°の誤差がでた』時の底辺の長さの誤差は、3,613..... 一般公差すら大幅にオーバーし間違いなく不良です。 ?2,777...とミリ単位で誤差が出るので切り捨てることは出来ません。 もう一人の方からも解説を頂いてますが、高さと角度からtanで底辺を求める場合、角度が小さくなるほど誤差が大きくなる理屈が解った気がします。 答えは合ってますでしょうか?

noname#230359
noname#230359
回答No.7

辺長さの精度を求めるなら Θを使わないやり方 sinΘ=3.15/1000=0.00315 tanΘ=(+/-)sinΘ/sqrt(1-(sinΘ)^2)=0.0031500000035 (関数電卓の演算精度で計算できる)

noname#230359
noname#230359
回答No.6

詳しく考えるには参考に挙げたような誤差伝播の法則を理解していただく必要が有ります。 その上で大筋だけ言うと計算に必要な相対誤差(精度)≒求めたい値の相対誤差といえます。 なので約1000mmに対し100分台の精度(約5桁)を出したいなら最低5桁、余裕を見るなら7桁の精度の角度を使う必要が有ります。

参考URL:
http://www.quant-ph.cst.nihon-u.ac.jp/~takasugi/jikken/note/node9.html
noname#230359
noname#230359
回答No.5

>角度は小数点以下3桁まででいいや、と勝手に決めて計算したらダメですか? だめです。 小数点以下何桁ではなく有効桁数が問題。 この場合「0.」は位取りであって有効桁数は「18」の僅か2桁。 1800、18、0.0018、0.000000018 も同じく2桁。但し1800については4桁または3桁かもしれない。 有効桁数2桁で × ÷ 三角関数 など計算すると結果も同じ程度の精度しか期待できないはずが 1002,672843 と3桁以上の精度になったのは偶然です。 NC、コンピュータなどの数を扱うには「数値計算の常識」という難しい問題がありますが、本件は有効桁数の話だけで判ると思います。

noname#230359
noname#230359
回答No.4

実はよくは分からないのだが・・・ Excelでの三角関数では単位がラジアンと成っているのは御存知だと思う 関数電卓も恐らく同じようなシステムというか計算方法になっている気がする つまり、”tanθ”を考えた場合にθが deg ならθ→ 0 なら tanθ→ 0 だが もしもラジアンであれば θ→ 0 なら tanθ→ θ に帰結するということが 関係しているというか誤差が必然的に生じ易い真理が隠されていると思われる だからθが十分小さい場合はこのような性質を十分に理解して電卓を使う事だ 1°=PI/180=0.0174532925199433 (rad)(※測定値とそうでない値を区別する) 電卓やPCは先のπ/180を内部で計算している訳ですが計算結果の角度有効数字 を貴殿が勝手に 0.18°と有効数字2桁にまで下げてしまったことが問題でした つまり、radで考えるなら、10%も誤差を増やしてしまったことになるのですよ ↓ の有効数字同士の掛け算の部分はとても分かり易いと思うので、 今後の数値計算は、この有効数字を常に意識して計算すれば一味違うね http://www.mmlab.mech.tuat.ac.jp/mmlab/lect_murata/significant_figure.shtml 未だ迷っているのも仕方がない。皆さん言っていることは各々正しいと思う。 ozuさんの仰っていることも同じことである・・・ 「”tanθ”を考えた場合にθが deg ならθ→ 0 なら tanθ→ 0 ・・・ラジアンであれば θ→ 0 なら tanθ→ θ に帰結」 つまり、θが小さくなれば成る程、誤差比は"θ/0"で∞になるという理屈です 従って有効数字というのも大事なのだが、数学的な基本を踏まえておかないと 物事の本質を見失うことになるのです。物理でも何でもそうだと思いますけど 今になって私も数学は得意だったが、もっと勉強しておけばと後悔しています 我社もそうなのですが、司令塔となる人が何人もいるようだと組織は混乱する そう言う意味で未熟な組織だと思っていますし現に失敗も多く恥しい限りです 設計はモノ作りの旗振り役でなければならないっという信念を持っております 話は逸れましたが設計も同じで本当の数式の意味とか何故そのようにするのか という所を端折ると、その度に同じような間違いの危険は無くなりませんが、 一時は遅かろうと理屈を理解すれば忘れないし、二度と間違いも繰り返さない 例えば円周率πをゆとり教育として小学校では、3.14 にしてしまったようだが 私は少し驚きましたし、重力加速度を 9.81 に丸めて計算するのと変わらない >※測定値とそうでない値を区別する。っと有効数字を理解するのが重要です

noname#230358
質問者

お礼

ありがとうございます。正直、回答を沢山頂きながら、回答を理解出来る知識がなかったため、理解できませんでした。 今あちこちで資料を集めて勉強してますが、徐々にですが解ってきました。 理屈を理解した上で何でもやらないとダメ、今回の教訓です。

noname#230359
noname#230359
回答No.2

演算精度の問題ですね。 まず電卓では通常分数を扱えませんから近似小数で数値を入力することになります。 もうひとつは、tanθ関数の特性ですね 0度付近では傾きは1よりもかなり小さく、90度付近では非常に大きくなります。 今回は除算の除数に0度付近のtanを使っているので精度が悪く見えます。 もし精度を気にしたくなかったら、 電卓ではなく、 PCでMathematicaなどの数値演算ソフトで 任意精度数値計算ライブラリを使って計算すればいいです。 >0度付近では傾きは1よりもかなり小さく をっと、0度付近では1にちかいので有効桁数を3桁取りたければ 角度も3桁以上の精度で指定すればよいですね。 質問からすると、5桁程度に有効桁数を必要としているように見えますので 角度側にも5~6桁程度の精度の数字を入れないとダメです。

noname#230359
noname#230359
回答No.1

よく理解してないが 1=0.99999の循環小数 http://ja.wikipedia.org/wiki/0.999... と 桁落ち http://technologicaladvance.blog.fc2.com/blog-entry-45.html とか理解してれば こまけーことなんかいいんだよ と思うようになれるよ

関連するQ&A

  • 逆三角関数

    sinθ=3/5 の時、θを関数電卓等を使わずに求めたいんですが、どうすればいいんでしょうか?テイラー展開を使うと聞いたんですが、電卓を使えないので式をできるだけ簡単なものにしたいのです。精度は角度を度数表示で、小数点一桁まで求めたいのですが、よろしくお願いします。

  • 角度θと斜辺の長さから底辺と対辺の長さの求め方を・・

    すみません、「計算式」を教えて頂きたいのですが、 角度θと斜辺の長さが解っている垂直三角形から 底辺と対辺の長さの数字を求めるにはどう計算すればよろしいのでしょうか? cosθ=底辺÷斜辺 sinθ=対辺÷斜辺 という式は見つけたのですが、これでは斜辺しか数値が解らず計算できません。 また、勘違いしているかもなのですが sin=対辺 cos=底辺 tan=斜辺 の事ですよね? sinθ cosθ tanθとは底辺と角度を掛けた(?)物という意味なのでしょうか? ここを読んでこい 的なリンクだけのご回答でも全然構いませんので、 何か教えて下さると幸いです。

  • 三角関数と電卓の計算結果

    例えば、角度45度の直角三角形でsin45°は1/√2=0.7071・・・となります。三角関数表なるものを見てもそうなってます。ですが私が使ってる関数電卓で、[45]→[sin]と押すと答えは、0.6494・・・となってしまいます。他のcos、tanでも同様な傾向で計算されます。これはどうしてなのでしょうか?電卓が壊れているのか、使い方が間違っているのでしょうか?

  • サイン。コサインに関して。

    サイン。コサインに関して。 対辺÷斜辺。底辺÷斜辺で角度を出しましたが角度が同じに なりました。なぜだかわかりません。 普通に計算したつもりですが、 正しい、角度の出す方法を教えてください。 (電卓で逆数で角度を出だしました) ほかの方法がありましたらおしえてください、

  • 高校の三角比についてです!

    sinθ=4/5のとき、cosθ、tanθの値を求めよ。と言う問題で sin^2θ+cos^2θ=1 tanθ=sinθ/cosθ 1+tan^2θ=1/cos^2θ これらの公式を使うのが面倒なのでそれぞれ斜辺が5、角θの対辺が4の直角三角形を書いて 残りは三平方の定理で求めてからcosθ、tanθを出す方が楽だと思うのですがこの間塾で質問するとその三角形が直角三角形かどうかわからないから三平方の定理が使えないので図を書くんでなく公式を使って回答は書けと言われました。 でも三角比は直角三角形をもとに考えるわけだしどうもそれがいけない理由がわかりません。 だったらsin^2θ+cos^2θ=1だって直角三角形をもとにした公式じゃないかと思ってしまいます。文章が読みにくくてすいません。つまりsinθ=4/5だけでは直角三角形と言えない理由を教えてください。お願いします!

  • 斜辺と高さから角度の求め方

    sinθの角度の求め方が分からないので計算式を教えていただきたいのでお願いします。 角度は=ASIN(高さ/斜辺)×180/PI() のXとYに数値を当てはめて、解決できていますが、 途中の計算式(どのように求めたか分かるように)を提出しなさいと指示がありました。 以下にデータを記載させていただきますのでよろしくお願いします。 底辺と斜めのなす角度(左下の角度)を求めたいです (1)斜辺:71cm、 高さ:32.9cmからsinθ=68/32.9まではわかりますが、その続きが分かりません。 (2)斜辺:65cm、 高さ:36.5cm 出来れば、関数電卓を使用せず求める方法を教えていただきたいです。

  • 三角関数の相互関係式

    よく三角関数の相互関係式の最初(公式確認の問題)で出てくる「sinα=4/5とするときcosαを求めよ。」という問題ありますよね。 あの問題を解く際に直角三角形を考え問題文より斜辺=5、高さ=4、三平方の定理から底辺=3と分かるのでcosα=3/5として求めてはいけない明確な理由が得られません。なぜいけないのでしょうか?問題に「直角三角形である」というキーワードがないためという理由はどうしてもピンときません。

  • 今日は、Vista電卓で三角関数の計算を教えて下さい。ポケットサイズの

    今日は、Vista電卓で三角関数の計算を教えて下さい。ポケットサイズの計算機で関数の計算をする時、例えば、直角三角形の斜辺と角度(A,B,Cの時、角Aが60°として斜辺は、2です)が与えられる時、対辺と燐辺はsin,cosで求められますよね、ポケットサイズの計算機では2×sin60°対辺 2×cos60、燐辺が計算出来ますよね、Windows Vista電卓では、どうするのですか???パソコン初心者の私に教えて下さい。

  • 三角関数・tanθの求め方

    いろいろな参考書を読んでいるのですが、いまいちわからないので、教えてください。 直角三角形で、斜辺をA,底辺(下の辺)をB、横辺(右の辺)をCとする場合、 1.θは角度ですよね? 2.BとCの長さが決まっている場合tanθをどうやって求めるのでしょうか。 以上、よろしくお願いします。

  • 角度の求め方 関数計算機にて

    斜辺15593 底辺 8893 に対しての角度の求め方を 上記数字で数式を教えていただけないでしょうか? 関数計算機を使ってます。 又逆の場合 90度角 12815 斜辺  15593の 斜辺に隣接する角度の数式も教えて頂けないでしょうか?