Necesito porfavor saber como programar una interpolacion en Fortran con terminaciòn .f, no se cual version sea...
O algun sitio donde poder consultarlo.....
Gasuus, Integracion, e interpolacion.....
| |||
Fortran Power Station 4.0 Necesito porfavor saber como programar una interpolacion en Fortran con terminaciòn .f, no se cual version sea... O algun sitio donde poder consultarlo..... Gasuus, Integracion, e interpolacion..... |
| |||
problemas con este programa holaaaaaaaaaaaaa necesito aux con este programa estoy utilizando para copilarlo el FORCE 2.0 pero no se que pasa que genera un monton de errores.......... ahi va el codigo: PROGRAM GAUSS WRITE(*,*)"RESOLUCION DE MATRICES A TRAVS DE GAUSS Y PIVOTEO" IMPLICIT NONE INTEGER:: I,J,K,N REAL:: FACTOR REAL,ALLOCATABLE ::MAT(80,80),RESULTADOS(:) WRITE(*,*)"PROGRAMA DE RESOLUCIàN DE ECUACIONES" WRITE(*,*)" A PARTIR DEL MTODO DE GAUSS " WRITE(*,*)"" WRITE(*,*)"" WRITE(*,*)"INTRODUCE EL NUMERO INCOGNITAS EN LAS ECUACIONES:" READ(*,*)N ALLOCATE (MAT(N,N+l),RESULTADOS(N)) DO I=1,N,l DO J=1,N+1,1 WRITE(*,*)"INTRODUCE EL ELEMENTO (",I,",",J,"):" READ(*,*)MAT(I, J) END DO END DO DO K=1,N-1,1 DO I=K,N-1,1 IF (K==I) THEN CALL PIVOTE(MAT,N,K) ENDIF FACTOR=MAT(I+1,K)/MAT(K,K DO J=1,(N+1),1 MAT(I+1,J)=MAT(I+1,J)-(FACTOR*MAT(K,J)) ENDDO ENDDO ENDDO WRITE(*,*)"LA MATRIZ RESULTANTE DESPUS DE LAS OPERACIONES ES:" WRITE(*,*)"" DO I=1,N,l DO J=1,N+1,1 WRITE(*,*)"(",I,",",J,")",MAT(I,J) ENDDO ENDDO CALL SOLUCION(MAT.N,RESULTADOS) write(*,*)"los resultados para los valores de x son estos: " DO I=1,N=l WRITE(*,*)" X(",I,"):",RESULTADOS(I) ENDDO ENDPROGRAM SUBROUTINE PIVOTE(MAT,N,i) WRITE(*,*)"SUBRUTINA QUE NOS AYUDA A DETERMINAR EL ELEMENTO MAYOR" WRITE(*,*)"A SER CONSIDERADO EL PIVOTE DE LOS CµLCULOS Y" WRITE(*,*)"LO REEMPLAZA EN EL ORDEN DE LOS MISMOS" IMPLICIT NONE INTEGER::I,N,K,INDICE,BAND REAL::TEMP REAL,DIMENSION (N,N+l)::MAT BAND=0 INDICE=I DO K=I+1,N,1 IF (ABS(MAT(INDICE,I))<ABS(MAT(K,I))) THEN INDICE=K BAND=1 ENDIF ENDDO IF (BAND/=0) THEN DO K=I,N+1,1 TEMP=MAT(INDICE, K) MAT(INDICE,K)=MAT(I,K) MAT(I,K)=TEMP ENDDO ENDIF RETURN ENDSUBROUTINE SUBROUTINE SOLUCION(MAT,N,RESULTADOS) IMPLICIT NONE INTEGER:: I,J,N REAL:: SUMA REAL,DIMENSION(N):*RESULTADOS REAL,DIMENSION(N,N+l)::MAT SUMA=0 RESULTADOS(N)=MAT(N,N+1)/MAT(N,N) DO I=N-1,1,-1 DO J=I+1,N,1 SUMA=SUMA+(MAT(I,J)*RESULTADOS(J)) ENDDO RESULTADOS(I)=(MAT(I,N+l)-SUMA)/MAT(I,I) ENDDO RETURN ENDSUBROUTINE si me puedes ayudar te lo agradeceria ...... |