📄 sx01a.c
字号:
main() /* practice1 (D1 EXPLLICT METHOD)*/
{
float km,mu,lamda,dx,dt,time;
float ho[11],h[11];
int i,np,npo1,ndt,mdt,icount,iprint;
km=20.0;
mu=0.002;
np=11;
npo1=np-1;
ndt=80;
dx=10.0;
dt=0.005;
lamda=km*dt/(mu*dx*dx);
printf("lamda= %5.2f ",lamda);
for(i=1;i<=np;i++)
{ho[i]=16.0;}
ho[0]=16.0;
h[0]=16.0;
h[np-1]=16.0;
printf("\n");
printf("time head\n");
time=0.0;
icount=1;
iprint=4;
for(mdt=1;mdt<=ndt;mdt++)
{
time=time+dt;
h[0]=16.0+time*exp(-time);
ho[0]=16.0+time*exp(-time);
h[np-1]=16.0-time*exp(-time);
for(i=2;i<=npo1;i++)
{h[i]=lamda*(ho[i-1]+ho[i+1])+(1-2*lamda)*ho[i];}
if(icount==iprint)
{
printf("%8.2f",time);
for(i=1;i<=np;i++)
{printf("%6.2f",h[i]);}
printf("\n");
icount=0;
}
for(i=2;i<=npo1;i++)
ho[i]=h[i];
icount=icount+1;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -