[問題] 進不去while迴圈
一下子找不到哪裡弄錯了 =.=
測試用的程式如下.謝謝指教了.
#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
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
03/03 21:12, 4F
→
03/03 21:12, , 5F
03/03 21:12, 5F
→
03/03 21:14, , 6F
03/03 21:14, 6F
→
03/03 21:14, , 7F
03/03 21:14, 7F
→
03/03 21:16, , 8F
03/03 21:16, 8F
→
03/03 21:16, , 9F
03/03 21:16, 9F
推
03/04 07:03, , 10F
03/04 07:03, 10F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章