806940059 发表于 2014-5-10 19:13:47

do死循环问题求助

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:48

我没发现你的do while有什么用。如果(t(i)==TIME(1),程序将陷入死循环。试试将do while 改为 if 语句。

li913 发表于 2014-5-10 19:29:05

检查是否陷入死循环。

806940059 发表于 2014-5-10 20:19:36

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

多谢!确实是这样
页: [1]
查看完整版本: do死循环问题求助