[問題] 進不去while迴圈

看板C_and_CPP (C/C++)作者 (兌現承諾)時間16年前 (2009/03/03 21:05), 編輯推噓3(307)
留言10則, 4人參與, 最新討論串1/1
一下子找不到哪裡弄錯了 =.= 測試用的程式如下.謝謝指教了. #include <iostream> #include <cstdlib> #include <vector> #include <cmath> #define gamma 2 using namespace std; void solve(double tolerance, vector<vector<double> > &u, vector<vector<double> > &rhs) { double AbsDelta=0.0; while(AbsDelta>tolerance) { double J=-16+gamma*exp(u[1][1])*(1+u[1][1]); double F=-16*u[1][1]+gamma*u[1][1]*exp(u[1][1])-rhs[1][1]; double delta=(-1)*F/J; cout << "delta=" << delta << endl; //用來測試有無進入迴圈 u[1][1]+=delta; AbsDelta=abs(delta); //也許明顯的錯誤是沒定增量? } } int main() { vector<vector<double> > u(3,vector<double>(3)); vector<vector<double> > rhs(3,vector<double>(3)); u[1][1]=5; rhs[1][1]=5; cout<< u[1][1] << endl; solve(1.0e-7,u,rhs); cout<< u[1][1] << endl; system("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.11.75

03/03 21:07, , 1F
0.0什麼時候才會大於0.002? XD
03/03 21:07, 1F
※ 編輯: luckychild 來自: 140.120.11.75 (03/03 21:09)

03/03 21:09, , 2F
已修文
03/03 21:09, 2F
※ 編輯: luckychild 來自: 140.120.11.75 (03/03 21:10)

03/03 21:11, , 3F
呣,我看不出來哪有有差耶
03/03 21:11, 3F

03/03 21:12, , 4F
1.0e-7還是大於0吧...??
03/03 21:12, 4F

03/03 21:12, , 5F
要比0.0小不就只有負數嗎?
03/03 21:12, 5F

03/03 21:14, , 6F
幹! 我耍笨 SORRY
03/03 21:14, 6F

03/03 21:14, , 7F
上面這個推文讓我笑了 XDDDD
03/03 21:14, 7F

03/03 21:16, , 8F
在趕程式啦 慌了 =.=
03/03 21:16, 8F

03/03 21:16, , 9F
我懂的 加油 XDDD
03/03 21:16, 9F

03/04 07:03, , 10F
科科科…看到也囧了…XD
03/04 07:03, 10F
文章代碼(AID): #19hIiRfl (C_and_CPP)
文章代碼(AID): #19hIiRfl (C_and_CPP)