このQ&Aは役に立ちましたか?
インボリュート関数の逆関数
2023/10/15 02:31
- インボリュート関数の逆関数とは何か?エクセルでの計算について教えてください。
- インボリュート関数 invα=tanα-α の逆関数について詳しく教えてください。
- エクセルでの歯車の計算に関する問題について相談です。
インボリュート関数の逆関数を教えてください
2006/03/22 22:08
いつもお世話になります。
インボリュート関数 invα=tanα-α の逆関数を教えてください。
エクセルで歯車の計算をしていて躓きました。
よろしくお願いします。
回答 (4件中 1~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
これも定義しといてください.
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
以下、私がやっている方法ですが
インボリュート関数表から求めるならば
http://www.khkgears.co.jp/cals/cals/khk/KHK513_1.html
に関数表が公開されています。
また、もっと細かい値を計算したいのであれば
プログラムを組んで求める方法があります。
invαの値になるようなαの値を
小さい方からtanα-αに次々にあてはめ
計算させて求めます。
プログラムを組むのには
「ひまわり」というフリーソフトを
使用しています。
(日本語で組めるので私的には楽なので。)
エクセルのVBが使えるのであれば
そちらで組んだほうが
ワークシートに組み込めるので便利かもしれませんね。
以上参考になれば幸いです。
お礼
2006/03/25 10:07
お世話になります。
回答ありがとうございます。
「ひまわり」というソフトは初めて知りました。
大変参考になりました。
ありがとうございました。
#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より高精度にαが求まるでしょう。
お礼
2006/03/25 10:02
お世話になります。
回答ありがとうございます。
解析解がないというのは残念です。
教えていただいた関数をワークシート関数として
登録しました。
ありがとうございました。