Re: [问题] 高斯消去法

楼主: Zero0910 (みくに最高≧▽≦)   2014-10-29 11:32:10
: void gaussh(double matrix[3][4])
: {
: for (int i=0; i<3; ++i)
: {
: if (matrix[i][i]==0)
: for (int j=i+1;j<4;j++)
: {
: if(matrix[j][i]!=0)
: for(int m=i;m<3;m++)
: swap(matrix[i][m],matrix[j][m]);
: }
: double t;
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
: for (int k=i; k<3; ++k)
: {
: t=matrix[k+1][k]/matrix[k][k] ;
: for (int j=i+1; j<4; ++j)
: {
: matrix[j][k] -= matrix[i][k] * t;
: }
: }
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
有问题的地方在这
照你这样写跑出的结果会变这样
http://i.imgur.com/sNy6qhY.png
最后求得的结果当然是错的
你需要检查一下该怎么给i j k的值
: }
: 补充说明(Supplement):
: 我照著书上及网络的程式码打 还是错
: 我从晚上看到天亮(真的...)还是不知道哪里错
: 初学程式语言,还请各位多包涵
: 请大大帮我解惑!
作者: won54chan (王54丞)   2014-10-29 13:44:00
已解决 谢榭

Links booklink

Contact Us: admin [ a t ] ucptt.com