- 締切済み
インボリュート関数の逆関数
- インボリュート関数の逆関数とは何か?エクセルでの計算について教えてください。
- インボリュート関数 invα=tanα-α の逆関数について詳しく教えてください。
- エクセルでの歯車の計算に関する問題について相談です。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
インボリュートの逆関数は解析解がなかったはずです. 私はEXECLのVBAで下記関数を定義して使っています. Function AINV(invα) 'invαを与えてαを求める関数.ニュートン法 'F(α) = tanα - α - invα = 0 'F'(α) = 1/cos^2(α) - 1 'αn=( αn-1 ) - ( F(α) / F'(α) ) B = 1.57 '初期値 89.95゚ よりスタート Do A = B B = A - (Tan(A) - A - invα) / (-1 + (1 / Cos(A)) ^ 2) Loop Until Abs(B - A) < 0.00000001 '収束誤差の設定 AINV = B End Function 書き漏らしました Function INV(α) 'インボリュート関数 INV = Tan(α) - α End Function これも定義しといてください.
以下、私がやっている方法ですが インボリュート関数表から求めるならば http://www.khkgears.co.jp/cals/cals/khk/KHK513_1.html に関数表が公開されています。 また、もっと細かい値を計算したいのであれば プログラムを組んで求める方法があります。 invαの値になるようなαの値を 小さい方からtanα-αに次々にあてはめ 計算させて求めます。 プログラムを組むのには 「ひまわり」というフリーソフトを 使用しています。 (日本語で組めるので私的には楽なので。) エクセルのVBが使えるのであれば そちらで組んだほうが ワークシートに組み込めるので便利かもしれませんね。 以上参考になれば幸いです。
お礼
お世話になります。 回答ありがとうございます。 「ひまわり」というソフトは初めて知りました。 大変参考になりました。 ありがとうございました。
#2 さんへ 大変な著作権侵害行為です。直ちに自主削除してください。 #2==>#1 ニュートンの解法をあてはめることで容易にプログラムは組めます。 下記URLの式をエクセルに埋め込むことで高精度の解がもと まります。 http://sharp-world.com/products/calculator/education/program/pdf/07.pdf#search='involute%20function'
丸善の機械設計便覧第3版p697-p698には 方法1 ISO/TC 60 N 481(April 1985)の近似式 1/COSα=1+q(c1+q[c2+q{-c3+q[c4+q(-c5-c6*q)]}]) q=(invα)^(2/3) c1=1.04004192 c2=0.32450594 c3=0.00320902 c4=0.00893663 c5=0.00318978 c6=0.00047725 1/COSαからαを求める 方法2 逐次近似法 step1. a=1.28(invα)^0.3 step2. b=TANa-a step3. c=invα-b step4. c<=10^-6ならα=a step5. c>10^-6なら d=0.384(invα)^-0.7 step6. e=c*d+a step7. a=eとしてstep2に戻って計算を繰り返す の2つの方法が載っています。また、Excelならばソルバーアドインを使えば 方法2より高精度にαが求まるでしょう。
お礼
お世話になります。 回答ありがとうございます。 解析解がないというのは残念です。 教えていただいた関数をワークシート関数として 登録しました。 ありがとうございました。