1

我正在尝试在 C 中创建一个矩阵以解决 LaPlacian

但是,这是错误的。我已经在矩阵的初始化阶段找到了问题。每次程序运行时,它都会在一个元素中放置一个看似随机的值。这个数字每次都会改变,表明代码不稳定,如果矩阵大于 9x9,就会发生这种情况。

为什么会发生这种情况?

谢谢

我用来显示矩阵的代码是:

  // create matrix 
  double mat[meshno][meshno] = { {0} };  // x direction defined by i, y by j

  //variables 
  int i, j, k;

  //print initial matrix
for (i=0;i<=meshno;i++)
 { 
for(j=0;j<= meshno;j++)
 {
   printf("%f ", mat[i][j]);
 }
 printf("\n");
 }
4

2 回答 2

6

您正在查看每个数组末尾的元素。

您的 for 循环应该使用<而不是<=

for (i = 0; i < meshno; ++i)
{ 
 for(j = 0; j < meshno; ++j)
 {
于 2013-10-10T14:24:40.770 回答
0

改成

for (i=0; i< meshno;i++)
 { 
for(j=0; j< meshno;j++)
 {
于 2013-10-10T14:27:30.193 回答