第九讲程序应用举例.pptVIP

  • 1
  • 0
  • 约8.01千字
  • 约 56页
  • 2017-07-16 发布于北京
  • 举报
拟合问题解法步骤 建立矛盾方程组 建立法方程组 解方程 LU分解法 计算拟合结果 线性方程组求解问题 LU分解的数学模型 PROGRAM WWYLU real,ALLOCATABLE:: A(:,:),L(:,:),U(:,:),X(:),B(:),Y(:) write(*,*)’input n’ read(*,*)n allocate(A(1:n,1:n),L(1:n,1:n),U(1:n,1:n),X(1:n),B(1:n),Y(1:n)) CALL input_matrix(n,n,A) CALL input_vector(n,B) CALL A_LU(A,n,L,U) CALL DOWN_tri(L,B,n,Y) CALL UP_tri(U,Y,n,X) CALL OUTPUT_vector(n,X) deallocate(A,L,U,X,B,Y) END program LU分解程序设计 SUBROUTINE input_matrix(m,n,A) real A(1:m,1:n) write(*,*)’input matrix A’ DO I=1,m read(*,*)(A(I,j),j=1,n) END DO END subroutine PROGRAM WWYLU real,ALLOCATABLE:: A(:,:),L(:,:),U(:,:),X(:),B(:),Y(:) write(*,*)’input n’ read(*,*)n allocate(A(1:n,1:n),L(1:n,1:n),U(1:n,1:n),X(1:n),B(1:n),Y(1:n)) CALL input_matrix(n,n,A) CALL input_vector(n,B) CALL A_LU(A,n,L,U) CALL DOWN_tri(L,B,n,Y) CALL UP_tri(U,Y,n,X) CALL OUTPUT_vector(n,X) deallocate(A,L,U,X,B,Y) END program SUBROUTINE input_matrix(m,n,A) real A(1:m,1:n) write(*,*)’input matrix A’ DO I=1,m read(*,*)(A(I,j),j=1,n) END DO END subroutine 问题一:空间利用率是不是可以提高? PROGRAM WWYLU real,ALLOCATABLE:: A(:,:),L(:,:),U(:,:),X(:),B(:),Y(:) write(*,*)’input n’ read(*,*)n allocate(A(1:n,1:n),L(1:n,1:n),U(1:n,1:n),X(1:n),B(1:n),Y(1:n)) CALL input_matrix(n,n,A) CALL input_vector(n,B) CALL A_LU(A,n,L,U) CALL DOWN_tri(A,BL,B,n,Y) CALL UP_tri(A,BU,Y,n,X) CALL OUTPUT_vector(n,XB) deallocate(A,L,U,X,B,Y) END program SUBROUTINE input_matrix(m,n,A) real A(1:m,1:n) write(*,*)’input matrix A’ DO I=1,m read(*,*)(A(I,j),j=1,n) END DO END subroutine 问题一:空间利用率是不是可以提高? PROGRAM WWYLU real,ALLOCATABLE:: A(:,:),B(:) write(*,*)’input n’ read(*,*)n allocate(A(1:n,1:n),B(1:n)) CALL input_matrix(n,n,A) CALL input_vector(n,B) CALL A_LU(A,n) CALL DOWN_tri(A,B,n) CALL UP_tri(A,B,n) CALL OUTPUT_vector(n,B) deallocate(A,B) END program SUBROUTINE input_matrix(m,n,A) real A(1:m,1:n) write(*,*)’input matrix A’ DO I=1,m r

文档评论(0)

1亿VIP精品文档

相关文档