inter2
C INTER2 SOURCE CB215821 18/12/04 21:15:29 10020 C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc C C INTERPOLATION LINEAIRE C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc C C Rem : C donne la première valeur si TEMPS=KTE(1) même si KTE(2)=KTE(1) C donne la dernière valeur si TEMPS=KTE(LON) même si KTE(LON-1)=KTE(LON) C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc C C TEMPS : valeur où interpoler la fonction C KTE : abscisses de la fonction à interpoler C KFT : ordonnées de la fonction à interpoler C LON : longueur de ces deux précédentes listes C FT0 : valeur interpolée de la fonction à l'abscisse TEMPS C IRET : code retour =1 si succès, 0 sinon C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc C C HISTORIQUE : C C 14/9/90 PP C tenant compte du fait que l'on compare des reels.... C c 4/9/91 C tj valable apres release 91 C C 22/08/06 P. Maugis C . remplacement de 1.D-5*DT par XZPREC C . accepte les cas d'abscisses non strictement croissantes C . accepte des valeurs en dehors de l'intervalle de définition C à XZPREC près ; C donne alors la première (ou la dernière) valeur dans la liste. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC SMLREEL -INC PPARAM -INC CCOPTIO -INC CCREEL FT0=0 MLREE1=KTE MLREE2=KFT C PEG T1=MLREE1.PROG(1) C PEG L1=1 C PEG IF(TEMPS.LT.T1) GOTO 50 L2=1 * test si valeur inférieure ou égale à la première de la liste IRET=1 RETURN ENDIF DO L=2,LON L1=L2 L2=L * la liste est bien croissante ? * a-t-on encadré l'abscisse fournie ? noter la comparaison stricte C PEG T1=T2 C PEG L1=L2 ENDDO * La valeur est supérieure ou égale à la dernière de la liste *PM On donne la dernière valeur de la liste IRET=1 RETURN * On interpole linéairement la fonction 60 CONTINUE FT0=(FT2-FT1)*DT+FT1 70 IRET=1 RETURN * "Valeur en dehors de la table" 50 CONTINUE IRET=0 RETURN C Temps non croissants dans la liste C "La suite de réels doit être croissante" IRET=0 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales