#include <math.h>
#include <stdio.h>
#include <sys/time.h>
#define SIZE (1024*3 - 2)
double u[SIZE+2] [SIZE+2], uu[SIZE+2][SIZE+2];
void a(double u[SIZE+2][SIZE+2])
{
int i,j;
memset (u,0,sizeof(double)*(SIZE+2)*(SIZE+2));
for (i=1;i<=SIZE;i++)
for(j=1;j<=SIZE;j++)
u[i][j]=sin((j-1)/(SIZE*M_PI))+cos((j-1)/(SIZE*M_PI));
}
int main()
{
double err;
int i,j,iter=0;
a(u); a(uu);
do{
a ++;
for(i=1;i<=SIZE;i++)
for(j=1;j<=SIZE;j++)
uu[i][j]=u[i][j];
for(i=1;i<=SIZE;i++)
for(j=1;j<=SIZE;j++)
u[i][j]=(uu[i-1][j]+uu[i+1][j]+uu[i][j-1]+uu[i][j+1])/4.0;
err=0.0;
for(i=1;i<=SIZE;i++)
for(j=1;j<=SIZE;j++)
err+=(uu[i][j]-u[i][j])*(uu[i][j]-u[i][j]);
}
return 0;
}
間違いの指摘をお願いします
-
ももんが
間違いの指摘をお願いします
2次元ポアソン方程式を差分法で解くプログラムを作成し結果を表示せよ。という課題が出たのでプログラムを作成してみました。でも、動かなく、どのように直せばよいかわかりません。ご指摘お願いします。