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/) )