小故障在C中初始化矩阵

时间:2013-10-10 14:22:05

标签: c matrix

我正在尝试在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");
 }

2 个答案:

答案 0 :(得分:6)

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

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

for (i = 0; i < meshno; ++i)
{ 
 for(j = 0; j < meshno; ++j)
 {

答案 1 :(得分:0)

更改为

for (i=0; i< meshno;i++)
 { 
for(j=0; j< meshno;j++)
 {