让代码工作,这是我最终使用的内容:
- ads_real xPrime;
- for( ; ; ) {
- xPrime = (x * ((((x * y) - sin(x)) / ((x * cos(x)) - sin(x))) + 1));
- if(fabs(x - xPrime) < 0.00001)
- break;
- x=xPrime;
- }
- //(setq r (/ larc (* 2 (abs x)))
- // fle (- r (sqrt (- (expt r 2) (expt (/ lc 2) 2)))))
- r = (larc / (2 * fabs(x)));
- fle = r - sqrt((pow(r,2) - pow(lc/2,2)));
- // print value - test only
- //acdbRToS(fle, 2, 3, fmtval);
- //acutPrintf("FLE value is %s\n", fmtval);
另外,我在以下行上犯了一个错误:
- r = ((2 * fabs(x)) / larc);
并且应该像这样:
- r = (larc / (2 * fabs(x)));
一个小的计算,最终给了我X和Y的-1.#IND00000000000值....不好
谢谢查克,为路易斯使用的观点
|