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