Fortran Coder

标题: do死循环问题求助 [打印本页]

作者: 806940059    时间: 2014-5-10 19:13
标题: do死循环问题求助
[Fortran] 纯文本查看 复制代码
Do i=1,m  !m=15
  do while (t(i)==TIME(1)) !其中t(i)为:0,1.86。。。20.8,22.4共15个数值time(1)等于16.7
    Do k=1,c      !c=9            
      b(k,c+1)=f(i,k) !f为15*9的二维数组,赋值给b的第10列中的元素,其他列的元素在前面已经赋值
    end do
  end do
  do while (t(i)<TIME(1).and.t(i+1)>TIME(1))
    do k=1,c
      b(k,c+1)=(f(i,k)*t(i)-f(i+1,k)*t(i)+(f(i+1,k)-f(i,k))*TIME(1))/(t(i+1)-t(i))
    end do
  end do
end do
print*,'所形成增广矩阵为:'
do i=1,c
  do j=1,c+1
    write(*,*) b(i,j)
  end do
end do
目的是为了查值,没有对应的值时进行线性插值,代码如下:

结果是程序把这之上的内容运行出来了,而这部分内容一直在运算,,求助高手们给看一下问题出在哪了,不胜感激!谢谢!


作者: li913    时间: 2014-5-10 19:13
我没发现你的do while有什么用。如果(t(i)==TIME(1),程序将陷入死循环。试试将do while 改为 if 语句。
作者: li913    时间: 2014-5-10 19:29
检查是否陷入死循环。
作者: 806940059    时间: 2014-5-10 20:19
li913 发表于 2014-5-10 19:13
我没发现你的do while有什么用。如果(t(i)==TIME(1),程序将陷入死循环。试试将do while 改为 if 语句。 ...

多谢!确实是这样




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2