如何排除回圈計算裡碰到奇異點? |
尚未結案
|
rangen6912
一般會員 發表:11 回覆:5 積分:3 註冊:2004-04-20 發送簡訊給我 |
|
hobolin
初階會員 發表:0 回覆:25 積分:25 註冊:2005-07-03 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
rangen6912:以下只代表我個人的觀念!我從DOS時代就不停有 除數為零的現象!答案為何? 基本上一是警告讓使用者重來。 一是跳過如hobolin大大的continue。 另一是答案為零。 程式裡可能應除法問題有太多不確定性! BCB你可以使用 try { A=A/B; } catch(...) { A=0; // 或是錯誤警告 } DOS期(Clipper)我是使用副程式包起來例: double A_B(double a,double b) { if (b==0.0) return 0.0; else return a/b; } 如你的f_real=cos(2*M_PI*b*0.00000001*x/d/L); 可以為f_real=cos(A_B(A_B(2*M_PI*b*0.00000001*x,d),L)); 確保安全! 按你的程式我建議你的 if (x==0) B=0; else ... 應該可以行的通! 請參考!Andy Chang
------
Andy Chang |
rangen6912
一般會員 發表:11 回覆:5 積分:3 註冊:2004-04-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |