wh391103645wh 发表于 2010-4-25 22:13:54

用雅各比迭代法求解线性方程组 帮我看看为什么这个实现不了迭代

!***********************线性方程组求解********************************
                SUBROUTINE xianxingfangcheng
                USE QJBL
          IMPLICIT NONE
          integer:: i,J,bl,diedai,I1111,i1234,k1211,i123,cvf,ksa,sd
                REAL::f1,f2,bll,blll
                real::r1(1000),r2(1000)
         call qiujiejuejiangxishu
               call weiyiyidong
                  do i=nbound+1,npp
                        apoint(i,1)=0
                apoint(i,2)=0
                        enddo
                        sd=1
                  do ksa=1,sd
                       DOI=nbound-7,npp,1
                     bll=0
                     blll=0   
              DO J=1,c11(i)
                      S1(I,j)=bll+K122(I,A(I,J))*APOINT(A(I,J),1)
                      bll=S1(I,j)
                     s21(i,j)=blll+K122(I,A(I,J))*APOINT(A(I,J),2)
                     blll=S21(I,j)
                     END DO
                  y(i,1)=(S1(I,j)- fx(i))/k1233(i)
            y(i,2)=(S21(I,j)-fy(i))/k1233(i)
            r1(i)=abs(apoint(i,1)-y(i,1))
                  r2(i)=abs(apoint(i,2)-y(i,2))
                END DO
                       
              r11=MaxVal(r1)
              r22=MaxVal(r2)
                  write(*,*) r11,r22
                  if(r11 <=0.0001.or.r22<=0.0001)then
               do i=nbound-7,npp
               apoint(i,1)=y(i,1)
             apoint(i,2)=y(i,2)          
             end do
               else
                  do i=nbound+1,npp
                        apoint(i,1)=y(i,1)
                apoint(i,2)=y(i,2)
                        write(*,*)apoint(i,1),apoint(i,2)
                        enddo
                  sd=sd+1
                  write(*,*)sd
               end if
               end do
       return
           end
这个事解决弹簧系统的问题 请高手帮我看看
页: [1]
查看完整版本: 用雅各比迭代法求解线性方程组 帮我看看为什么这个实现不了迭代