|
|
发表于 2009-11-26 08:51:36
|
显示全部楼层
来自: 中国广东深圳
给楼主一份反渐开线函数的C++源代码:: j- C( r% @% N
4 q0 q! R' U) I) |
//自定义反渐开线函数; W4 a. s; J. K* n2 V: }( T: w
double __fastcall TForm_Inv::ArcInv(double x)6 f: o" K7 i4 d5 {" B7 w! q
{
% e/ n- R5 n$ N' U" N3 v, |& ^6 `! E const double MaxError=0.0000000001, MaxCount=100000;
( R/ W. K/ j# x double x1,x2,Error;
5 [& ^; B$ g- A; J" D int num; M* o% I. z! e3 O" |. g1 q8 B
x1 = 3*x;3 v- F% V1 c0 g2 e
x1 = exp(log10(x1)/3);
7 t: U4 r5 a* H. J, U. _: @% K Error =1;" H$ v! W8 U( L. v/ T
num = 0;" c9 {! H. `5 \" u+ C8 a
while ((Error > MaxError) && (num < MaxCount))1 V* m$ z* X4 ^6 U, Y
{
3 {/ K8 j9 O* U1 Y+ i3 j+ m x2 = acos(sin(x1)/(x+x1));% Z) t% Y4 C+ U: F, h4 K; Z
Error = fabs(x2 -x1);
# F- ^- |7 y: K% v2 d num++;
3 a4 C h0 a6 W; l8 _) S x1 = x2;2 R ~5 r: u$ p' W1 |$ d
}
# m2 [& w4 }8 i8 X return(x1);
. R6 l+ D9 u: v( G$ b. e( v. J! [}
5 t8 `1 O. Y- R" B& j/ b****************( ^' G8 @* ~8 g" q
程序运行界面参考附图! |
|