|
inv(x)=tan(x)-x
+ x" y- S8 `+ }9 u3 B3 i# D( k& e逆函數可以 用表查 , 或是用牛頓法
) \- d! w* N/ \4 Z; c: n6 l! ?7 Z- C, ?8 |5 l/ J/ i7 E- K0 o( C
[vb6/vba] Office excel also with this moudle 8 ?$ s7 H, [! y6 P8 B" O
Public Function Inverse_inv(value As Variant)! A( f/ T/ k# k& `3 R4 `
Dim ape As Double
$ N3 u6 {4 `: w& y# N) `/ g( b9 a Dim pe0 As Double/ ?" x ]& m: L: R+ u
Dim pe1 As Double
- R" y! M$ L7 U. T, h- { ape = (3 * value) ^ (1 / 3)
1 y; ?; S$ l+ W7 q( j Do
! a3 ^2 A. v, a: x* v& |8 r If ape >= 1000000000# Then ape = PI / 2: Exit Do% }2 C3 c$ w, C0 `
pe0 = ape/ J# u' a$ f5 T, ^4 ?+ `- J
pe1 = ape + (value + ape - Tan(ape)) / (Tan(ape) ^ 2), r$ U4 @2 O2 }1 I0 O
ape = pe1. H2 m! r1 \: U8 u; @& r# c5 O
Loop Until Abs(pe1 - pe0) <= 0.0000001' A/ ?1 S* X+ }& }+ B1 k# n3 a% q
Inverse_inv = ape3 g- M8 y* p q4 T
End Function |
|