|
|
发表于 2009-11-26 08:51:36
|
显示全部楼层
来自: 中国广东深圳
给楼主一份反渐开线函数的C++源代码:
5 U J% C* T v/ o9 ?' W% o; C9 D$ l/ ?2 h+ s7 Z. W# e
//自定义反渐开线函数4 ?" I4 b' t& |# ^; q% \
double __fastcall TForm_Inv::ArcInv(double x)+ Z* D; B {. h
{
% B4 D0 b- X6 s% E3 Q const double MaxError=0.0000000001, MaxCount=100000;* g5 a k9 s7 a" X6 r2 h
double x1,x2,Error;
- o/ }* R: L$ X( T* G int num;
- a" y$ f3 }) W x1 = 3*x;
6 b5 F! s2 k2 N0 G( j3 Y! q x1 = exp(log10(x1)/3);$ q+ h- s. n1 D1 T4 g, u3 X
Error =1;
\2 N/ }1 s- L num = 0;7 M: [9 Y0 g0 x' B) z C
while ((Error > MaxError) && (num < MaxCount))
1 |0 n8 o4 C0 @/ z$ j3 ~) @ {
T" p, _& w& d. t8 s' u x2 = acos(sin(x1)/(x+x1));
' z/ @/ k: Y! B* s+ [ h Error = fabs(x2 -x1);
3 ^& K) d1 t5 J num++;
! n Z' ]8 ?# _8 l* s9 P; N( r x1 = x2;9 l, o, M' Q% C c" q! k; s0 y) f
}% V! R5 Z2 [; y( d( M8 x
return(x1);
. w/ Q3 W$ `$ f! D# K* R5 X% T}
# t) a- o7 I% h" r+ l% [/ C****************8 o |' n, j1 S$ U
程序运行界面参考附图! |
|