S částmi matic lze nyní manipulovat podobně jako v Matlabu. Máme-li matici o 5 řadách a 7 sloupcích
M(-3,:)
druhou řadu, zatímco M(0:-4:-2,1:7:2)
vezme překlopenou submatici
Příkaz RESHAPE změní tvar matice při zachování počtu a hodnot prvků:
Běžné skalární operace se provádějí po prvcích:
Nově Fortran 90 umožňuje i čistě maticové operace. Jsou to mimo jiné:
Jméno funkce | Vrací |
MAXVAL(A) | hodnotu největšího prvku |
MINVAL(A) | hodnotu nejmenšího prvku |
MAXLOC(A) | indexy největšího prvku |
MINLOC(A) | indexy nejmenšího prvku |
SUM(A) | součet hodnot prvků |
PRODUCT(A) | součin hodnot prvků |
MATMUL(A,B) | maticový součin |
DOT_PRODUCT(A,B) | skalární součin vektorů |
TRANSPOSE(A) | transponovanou matici |
CSHIFT(A,POSUN,DIMENZE) | cyklicky posunutou matici |
Přestavění matice cyklickou záměnou je schematicky znázorněno na obr. 1. Pokud neuvedeme jinak, posouvá se podle dimenze 1. Že se jedná o poměrně silný nástroj, dokazuje následující příklad. To, co bychom ve Fortranu 77 museli opsat smyčkou
REAL A(0:99), B(0:99) DO 1000, I=0,99 B(I) = ( A(MOD(I+99,100) + A(MOD(I+1,100) )/2 1000 CONTINUEmůžeme ve Fortranu 90 zkrátit na
REAL A(100), B(100) B = ( CSHIFT(A,+1) + CSHIFT(A,-1) )/2