|
inv(x)=tan(x)-x
0 I I& |- q2 y5 X/ V6 @: K逆函數可以 用表查 , 或是用牛頓法
: b' X" A; P4 K# j' ]" N4 I, K- V; t) ^, E; K' N
[vb6/vba] Office excel also with this moudle ) C# f) M( b# A% |5 u
Public Function Inverse_inv(value As Variant)
# Y+ }6 [/ a* j; O: b Dim ape As Double
1 H% P2 y8 i7 {9 R; b. O Dim pe0 As Double3 _2 b' \$ O+ O" b: E# H$ x E
Dim pe1 As Double
3 W0 ]( L. B$ H5 x4 Z* `3 K; b0 v ape = (3 * value) ^ (1 / 3)
( N* O8 S. W0 [. Q Do
/ j& `) o3 T. x1 p; q5 L; k. J If ape >= 1000000000# Then ape = PI / 2: Exit Do
: P, S% I [) G2 S pe0 = ape
7 M/ H' k; H0 U; K( Z7 P pe1 = ape + (value + ape - Tan(ape)) / (Tan(ape) ^ 2)
7 ^8 V) u1 d7 ]: {; L- T9 w2 K; V ape = pe15 {* k1 s& Z# n/ d. H0 s* G. \
Loop Until Abs(pe1 - pe0) <= 0.0000001: F1 j. @: w7 O/ W0 Q
Inverse_inv = ape- j9 I5 `9 Z- D3 d9 Y
End Function |
|