Matriz2fortran.sed

De FJWiki
Saltar a: navegación, buscar

Script sed para transformar una matriz texto separada por tabulaciones a una expresión de creación de matriz en fortran, sólo hay que reemplazar al final las dimensiones. Devuelve los números con d0 para expresar doble precisión. Los números que ya tengan notación científica son cambiados a notación científica con d.


matriz2fortran.sed

#Convierte una matriz por tabs en formato para mathematica

1 i = reshape((/ \&
s/[0-9.][0-9.]*/&d0/g
s/d0[eEdD]\([-+]\?[0-9]*\)d0/d\1/g
s/\t/,/g
$! s/^.*$/\t&, \&/g
$ {
s/^.*$/\t&\/), \&/g
a\
	(/n, n/) )
}


Ejemplo

Ejemplo usando math2matriz.sed:

$ echo "{{1.5,2E-5},{3e4,4}}" | sed -f math2matriz.sed | sed -f matriz2fortran.sed
= reshape((/ &
        1.5d0,2d-5, &
        3d4,4d0/), &
        (/n, n/) )


Ver también