do i=2,m-1
x(i)=i*h
t(j+1)=(j+1)*tao
y(i,j+1)=y(i,j)+tao*((y(i+1,j)-2*y(i,j)+y(i-1,j))/(h**2))
write(22,*) x(i),t(j+1),y(i,j+1)
end do
end do
这样求解不行
试一下这样
do k=1,m*n
do j=1,n-1
do i=2,m-1
x(i)=i*h
t(j+1)=(j+1)*tao
y(i,j+1)=y(i,j)+tao*((y(i+1,j)-2*y(i,j)+y(i-1,j))/(h**2))
if(k==m*n)write(22,*) x(i),t(j+1),y(i,j+1)
end do
end do
enddo kerb 发表于 2017-1-5 22:39
do j=1,n-1
do i=2,m-1
x(i)=i*h
加个k的目的是什么?感觉除了一直算下去、然后输出同样的结果,并没有什么区别呀?另外,电脑已经算10分钟了:-sleepy:
明天起床看看库朗条件吧,谢谢啦 你是用迭代法求解,你只迭代了一次,对于AX=B这样的方程至少要迭代A的阶数次才能得到近似解,你的那两层循环只是把边值在整个区域“匀和”了一次,你需要“匀和”N次结果才能比较接近解
或说回来,如果你先形成细数矩阵A,然后用直接法求解,X=A^{-1}B就不会有问题 并不是太理解您的意思,但我还是让电脑算了一下,结果和以前一样(昨天可能运行其他内容,所以速度较慢吧,今天挺快的)。库朗条件貌似没有应用到复数范围内的吧?fdtd倒是有篇论文,或许可以借鉴一下,正在研究
页:
1
[2]