1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| ! Interpolation polynomiale
SUBROUTINE polynomiale(P,y)
INTEGER,PARAMETER:: n=19, m=3
REAL, DIMENSION(:,:), INTENT(OUT) :: P
REAL, DIMENSION(m,m) :: L,U
REAL, DIMENSION(m) :: C,d1,x
REAL, DIMENSION(:), INTENT(IN) :: y
REAL,PARAMETER :: h=0.05,g=9.81
INTEGER :: i,j,k
DO i=1,m
DO j=1,m
DO k=1,n
P(i,j)=P(i,j)+(k*h)**(i+j-2)
END DO
END DO
END DO
PRINT*,
PRINT*,'Matrice P :'
DO i=1,m
PRINT '(100F6.2)',P(i,:)
END DO
DO i=1,m
DO k=1,n
C(i)=C(i)+((k*h)**(i-1))*g
END DO
END DO
PRINT*,
PRINT*,'Matrice C :'
DO i=1,m
PRINT*,C(i)
END DO
CALL decomposition(P,L,U)
PRINT*,
PRINT*,'P=LU'
PRINT '(10F6.2)', MATMUL(L,U)
CALL descente(L,C,d1)
CALL remontee(U,d1,x)
PRINT*,
PRINT*,'Matrice x :'
DO i=1,m
PRINT*,x(i)
END DO
END SUBROUTINE polynomiale |
Partager