Diferencia entre revisiones de «Matriz2fortran.sed»
De FJWiki
Línea 1: | Línea 1: | ||
− | 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. | + | 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. |
Línea 22: | Línea 22: | ||
Ejemplo usando [[math2matriz.sed]]: | Ejemplo usando [[math2matriz.sed]]: | ||
− | $ echo "{{1.5, | + | $ echo "{{1.5,2},{3,4}}" | sed -f math2matriz.sed | sed -f matriz2fortran.sed |
= reshape((/ & | = reshape((/ & | ||
− | 1.5d0, | + | 1.5d0,2d0, & |
− | 3d0 | + | 3d0,4d0/), & |
(/n, n/) ) | (/n, n/) ) | ||
Revisión del 20:50 24 abr 2008
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.
matriz2fortran.sed
#Convierte una matriz por tabs en formato para mathematica 1 i = reshape((/ \& s/[0-9.][0-9.]*/&d0/g s/d0e\([-+][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,2},{3,4}}" | sed -f math2matriz.sed | sed -f matriz2fortran.sed = reshape((/ & 1.5d0,2d0, & 3d0,4d0/), & (/n, n/) )