|
|
发表于 2009-11-26 08:51:36
|
显示全部楼层
来自: 中国广东深圳
给楼主一份反渐开线函数的C++源代码:% C( w0 g7 L& y# v+ s2 b
; ~, Q, m" J. ^) x//自定义反渐开线函数
+ B3 [: u1 W/ z2 Z4 m% D- O+ K( ?double __fastcall TForm_Inv::ArcInv(double x)
6 G- X" q; C9 s( j- r% \( P{
7 T7 k% z+ Q. y const double MaxError=0.0000000001, MaxCount=100000;, t& n- y& O7 d. X& v- ^2 b
double x1,x2,Error;
4 R9 H8 m: I* d3 d5 Z+ @( w int num;5 H5 p) { `0 ?+ X# w
x1 = 3*x;
8 y! J3 ^: i7 o+ ?- J x1 = exp(log10(x1)/3);
; e0 C1 n8 [0 y Error =1;: O3 T" Y6 l# u- y9 F
num = 0;
~/ r: d7 @* b5 L while ((Error > MaxError) && (num < MaxCount))
: _. A8 ~2 O0 Q! Z* v, ~) ~5 D/ K {( m9 S/ H5 I- ]( Y% W% ]/ z
x2 = acos(sin(x1)/(x+x1));/ G( a: e1 r H7 q' Y9 V6 V
Error = fabs(x2 -x1);6 [8 U2 L6 Y: e0 ~! v& {3 v2 P
num++;
* a: O! S* g' r x1 = x2;
3 n M- L L" q# }% h1 v7 h }
: Z# I; }, E) x/ l return(x1);
# P. T- x, ~$ b M}
8 N9 @1 e" _5 \5 [( l/ o# L****************
; q6 G" N" f' h0 n' W4 \程序运行界面参考附图! |
|