我试图在C中创建一个矩阵来求解拉普拉斯方程
然而,这是错误的我已经在矩阵的初始化阶段找到了问题每次程序运行时,它都会在一个元素中放置一个看似随机的值这个数字每次都会改变,表明代码不稳定,如果矩阵大于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");
}
最佳答案
您正在查看超过每个数组末尾的元素。
for循环应该使用<
而不是<=
:
for (i = 0; i < meshno; ++i)
{
for(j = 0; j < meshno; ++j)
{