|
inv(x)=tan(x)-x/ `8 b- o3 v" J# R2 D
逆函數可以 用表查 , 或是用牛頓法
( j( l9 X% n- Z i* |. K: r% A0 g. j5 A( N
[vb6/vba] Office excel also with this moudle 6 [# u, \4 o1 Y' _2 J
Public Function Inverse_inv(value As Variant)
; n4 o; w4 E, k$ m* \$ E, {% D0 ^ Dim ape As Double
3 }9 }/ Q" j" U1 ~% B: `8 e0 T Dim pe0 As Double* V# W# p Z# P2 p5 b: K
Dim pe1 As Double
& u- ~3 n7 L! q! @% z- O! K- `6 X ape = (3 * value) ^ (1 / 3)
! K1 W. E& ~* P( ?9 @ Do
3 m; W- Q1 B8 l w1 Q If ape >= 1000000000# Then ape = PI / 2: Exit Do
. D2 c ?6 Y- @* @9 n. j+ H7 K pe0 = ape
( M( P2 @( N+ ^; I3 N pe1 = ape + (value + ape - Tan(ape)) / (Tan(ape) ^ 2)
+ |: k0 o6 A6 E: ?" [* K ape = pe1
; H3 m; P# z/ q4 @/ [. Q: w Loop Until Abs(pe1 - pe0) <= 0.0000001
) O6 Q3 S% F4 Q. v6 a Inverse_inv = ape- t3 F6 ~; }7 B8 _2 O7 e9 M
End Function |
|