Fortran Coder

查看: 6619|回复: 3
打印 上一主题 下一主题

[通用算法] 这是我自己编写的LU分解,但是运行时说exe触发了一个断点...

[复制链接]

6

帖子

2

主题

0

精华

入门

F 币
40 元
贡献
19 点
跳转到指定楼层
楼主
发表于 2018-11-6 13:00:22 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
program test
   implicit none
   real(kind=8),dimension(3,3) :: A, L, U
   real(kind=8),dimension(3) ::B, ANS, C
   integer :: n
   n=3

   data A/1,2,3,2,5,1,3,2,5/
   B=(/14,18,20/)
   call LU_method(n,A,B,L,U,C,ANS)
   print*,ANS
end program test

subroutine LU_method(n,A,B,L,U,C,ANS)
    implicit none
    integer ::n,i,j,k,r
    real(kind=8) ::m1,m2,sum
    real(kind=8),dimension(n,n) :: A, L, U
    real(kind=8),dimension(n) :: B, ANS, C

     do i=2,n
       L(i,1)=A(i,1)/U(1,1)
     end do

     do j=1,n
       U(1,j)=A(1,j)
     end do

     do r=2,n
     if(A(r,r)==0)then
            print*,'解不出来'
            stop
        else
        if(r < j)then
          U(r,j)=0
            else
             do k=1,r-1
               m1=0
                do j=r,n
                  m1=m1+L(r,k)*U(k,j)   
                  U(r,j)=A(r,j)-m1
                end do
              end do
         end if
        if(r > i)then
          L(i,r)=0
             else
              do k=1,r-1
               m2=0
                do i=r+1,n
                  m2=m2+L(i,k)*U(k,r)
                  L(i,r)=(A(i,r)-m2)/U(r,r)
                end do
              end do
        end if
      end if

   !求解L*C=B
    C(1)=B(1)
      do i=2,n
        sum=0
         do k=1,i-1
            sum=sum+L(i,k)*C(k)
         end do
        C(i)=B(i)-sum
      end do

   !求解U*ANS=C
    ANS(n)=C(n)/U(n,n)
       do i=n-1,1,-1
        sum=0
        do k=n-1,1,-1
            sum=sum+U(i,k)*ANS(k)
        end do
       ANS(i)=(C(i)-sum)/U(i,i) 
       end do 
     end do  
end subroutine LU_method
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

6

帖子

2

主题

0

精华

入门

F 币
40 元
贡献
19 点
沙发
 楼主| 发表于 2018-11-7 21:59:20 | 显示全部楼层
fcode 发表于 2018-11-6 13:41
错误太多了,不好一一列举,

建议:

因为是通过已知A来求L,U,所以没给L,U赋值,视频里好像没有说如何调用gdb调试,只是有一个对话框,但是对话框怎么来的,我在其他地方好像也没有找到
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-5 18:57

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表