Fortran 77 to matlab or c

Fermé
samia317 - 9 juin 2009 à 19:20
 taoufik - 16 mars 2010 à 02:11
bonjour,

je trouve beaucoup difficultés a convertir le code ecrit en fortran 77 au matlab , si quelqun peut m'aider je serait trés réconnaissante.

merci d'avant. ( le code est le suivant )
C début de boucle (LABEL 300)
C
300 NITER=NITER+1
G=FG*G+(1.0-FG)*G
C relaxation de RE
ICONT=ICONT+1
IF(ICONT.LE.IFREC)JFLAG=2
IF(NITER.EQ.1)JFLAG=1
IF(JFLAG.EQ.2)GO TO 125
RE=FRE*RE1+(1.0-FRE)*RE
ICONT=0
125 JFLAG=1
RE=RE1
IF(PROG01) CALL PROG1
IF(PROG02) CALL PROG2

C WRITE(6,324)RE1,RE
WRITE(6,311)NITER,SOR1,SOR2

IF(MOD(NITER,INDPRI).NE.0)GO TO 301
WRITE(6,311)NITER,SOR1,SOR2
c IF(PROG01) CALL PROG1 PRINT(....)
c IF(PROG02) CALL PROG2 PRINT(....)
C
C test final
301 SOR=DMAX1(SOR1,SOR2)
IF(SOR.LE.CONTR*SORMAX)GO TO 400
GO TO 410
400 NJ=NJ-1

420 CONTINUE
410 IF(NITER.GE.MAXIT)GO TO 304
IF(SOR.GT.SORMAX)GO TO 300
C opérations final et résultast
WRITE(16,306)
WRITE(16,307)
GO TO 302
304 WRITE(16,306)
WRITE(16,309)
302 WRITE(6,311)NITER,SOR1,SOR2
IF(PROG01) CALL PROG1 PRINT(....)
IF(PROG02) CALL PROG2 PRINT(....)

4 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
10 juin 2009 à 08:24
c'est possible de traduire le goto en MATLAB ??
Sans ça il faut revoir le programme en profondeur.
0
salut je croit qu'on peut pas traduire goto en matlab mais il faut l'idée e faire be boucle while ou if


merci de votre réponse
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
16 juin 2009 à 20:00
Bonsoir,

De toutes manières avec ou sans l'instruction GO TO dans le langage cible il semble qu'il soit nécessaire de refondre le programme source (FORTRAN). En effet cette façon de programmer n'est pas recevable, la dernière fois que j'ai vu programmer de cette manière c'était dans les années 70 et c'était déjà vivement condamné.
Comme l'écrit Char Snipeur "il faut revoir le programme en profondeur".
0
merci beaucoup de votre attentions

en tout cas, sans voir le programme en profondeur c'est une facon de programmer en fortran 77 mais ce petit program est un test de convergence necessaire dans d'autre calcul

si quelcun peut m'aider je serait trés réconnaissant

merci
0