Hi Pals, well my new problem is that I would like the output of my code as an array,and I dont get it at all, I would like to have the results of u[1][1] u[1][2] u[1][3] in my output
thanks
Code:
/*Heat equation explicit scheme */
#include <stdio.h>
#include<stdlib.h>
#include<math.h>
#define max 100
#define pi 4*atan(1)
int
main ()
{
FILE *heat;
float t[max],x[max],u[max][max],k,h,r,s;
float tmax;
int n,j,m,i;
float xmax,nstep,alpha;
/*printf("enter the value of L=");scanf("%d",xmax);*/
/*printf(" steps of x=");scanf("%f",nstep);*/
/*printf("maximun value of Tmax");scanf("%d",tmax);*/
/*printf("enter alpha");scanf("%d",alpha);*/
xmax=1;
nstep=2;
tmax=0.5;
alpha=1;
heat=fopen("heat.data","w");
/* Estability*/
/*h=xmax/nstep;*/
h=xmax/nstep;
k=0.5*h*h/alpha;
m=3;
n=2;
/* Boundary Conditions*/
for(j=0;j<=m;j++)
{
t[j]=j*k;
u[0][j]=0;
u[n][j]=0;
}
/*Initial Conditions*/
for(j=1;j<=n-1;j++)
{
x[j]=j*h;
u[j][0]=10*sin(pi*x[j]*0.5);
}
/*Aproximations*/
r=alpha*k/k*h;
s=1-2*r;
for(j=1;j<=m;j++)
{
for(i=1;i<=n-1;i++)
u[i][j]=s*u[i][j-1]+r*u[i-1][j-1]+r*u[i+1][j-1];
}
for(j=0;j<=m;j++)
{
for(i=0;i<=n;i++)
fprintf(heat,"%1.5f\n%1.5f\t",t[j],u[i][j]);
/*printf("\n");*/
}
fclose(heat);
exit (0);
}