本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

1人が「役に立った」と評価
締切済み
※ ChatGPTを利用し、要約された質問です(原文:インボリュート関数の逆関数を教えてください)

インボリュート関数の逆関数

2023/10/15 02:31

このQ&Aのポイント
  • インボリュート関数の逆関数とは何か?エクセルでの計算について教えてください。
  • インボリュート関数 invα=tanα-α の逆関数について詳しく教えてください。
  • エクセルでの歯車の計算に関する問題について相談です。
※ 以下は、質問の原文です

インボリュート関数の逆関数を教えてください

2006/03/22 22:08

いつもお世話になります。
インボリュート関数 invα=tanα-α の逆関数を教えてください。
エクセルで歯車の計算をしていて躓きました。
よろしくお願いします。

回答 (4件中 1~4件目)

2006/03/23 22:06
回答No.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

これも定義しといてください.

お礼

2006/03/25 10:02

お世話になります。
回答ありがとうございます。
解析解がないというのは残念です。
教えていただいた関数をワークシート関数として
登録しました。
ありがとうございました。

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する
2006/03/23 15:51
回答No.3

以下、私がやっている方法ですが
インボリュート関数表から求めるならば
http://www.khkgears.co.jp/cals/cals/khk/KHK513_1.html
に関数表が公開されています。

また、もっと細かい値を計算したいのであれば
プログラムを組んで求める方法があります。
invαの値になるようなαの値を
小さい方からtanα-αに次々にあてはめ
計算させて求めます。

プログラムを組むのには
「ひまわり」というフリーソフトを
使用しています。
(日本語で組めるので私的には楽なので。)

エクセルのVBが使えるのであれば
そちらで組んだほうが
ワークシートに組み込めるので便利かもしれませんね。

以上参考になれば幸いです。

お礼

2006/03/25 10:07

お世話になります。
回答ありがとうございます。
「ひまわり」というソフトは初めて知りました。
大変参考になりました。
ありがとうございました。

質問者
2006/03/23 07:40
回答No.2

#2 さんへ

大変な著作権侵害行為です。直ちに自主削除してください。

#2==>#1

ニュートンの解法をあてはめることで容易にプログラムは組めます。
下記URLの式をエクセルに埋め込むことで高精度の解がもと
まります。

http://sharp-world.com/products/calculator/education/program/pdf/07.pdf#search='involute%20function'

2006/03/23 00:13
回答No.1

丸善の機械設計便覧第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より高精度にαが求まるでしょう。

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。