2009-05-03 12 views
7

domanda davvero semplice.come si esegue iterazione su una matrice in fortran?

dire che ho

real, dimension(0:100) :: realResults 

e voglio iterare realResults, in ultima analisi, per creare JSON dell'array della forma

[[x1,y1], [x2,y2], [x3, y3], ... ] 

sono abbastanza sicuro che voglio usare "fare "ma non sono sicuro di come

grazie

+1

+1 WTF. Le tue idee mi stanno intrigando e desidero iscrivermi alla tua newsletter. – SingleNegationElimination

risposta

6

In Fortran 90 si può fare matrice di iterazione come:

do i = lbound(realResults), ubound(realResults) 
    ! do something with realResults(i) 
end do 
+0

Per la maggior parte dei compilatori fortran77 sin dagli anni '80 hanno supportato questo modulo ... – dmckee

+0

La parte di Fortran 90 è nel supporto dell'array per lbound e ubound. Ciò che è ancora più interessante è che se riesci a sfruttare alcune funzionalità dell'intero array, puoi fare one-liner a la leggendaria APL. – jaredor

+0

Anche Fortran 90 (penso, forse 95) ha aggiunto un costrutto ForAll. Quindi puoi fare cose come: ForAll (i = 1: 10) a (i) = b (i) +1 –

1

FORTRAN e jSON nello stesso paragrafo?!?! WTF? Forse qualcosa di simile:

 do 10 i = 0, 100 
C  do something with realResults(i) 
    10 continue 
Problemi correlati