Saltar al contenido

Lectura en notación científica de C++ a Mathematica

Después de mucho trabajar ya encontramos el arreglo de este enigma que tantos usuarios de nuestro espacio han presentado. Si deseas compartir algo más no dudes en dejar tu conocimiento.

Similar al método de Rolf:

string = "f[38.67]=-2.5387862698183892298317350539374412777263289550697e-05;";

StringReplace[string, "e+" :> "*^", "e-" :> "*^-"];

[email protected]%;

?? f
Global`f

f[38.67] = -0.000025387862698183892298317350539374412777263289550697

Dependiendo de sus datos, es posible que desee un patrón más específico, por ejemplo:

StringReplace[string,
  a : NumberString ~~ "e" ~~ b : NumberString :> a <> "*^" <> b]

Import normalmente convierte automáticamente el formato e a potencias de. Puedes usar ImportString con el "Table" o "List" escribe:

ImportString["-2.5387862698183892298317350539374412777263289550697e-05", "Table"]

-0.000025387862698183892298317350539374412777263289550697

o

ImportString["1.002e-26", "Table"]

1.002*10^-26

Para aquellos que deseen transformar un archivo de datos completo con números en notación científica que se genera desde Fortran (o C, et al.) como "1.6E-19" y "3.0E+08" y tal, es increíblemente más rápido hacer cambios en Unix sed editor de línea de comandos que hacer una búsqueda y reemplazar en el archivo .m dentro de Mathematica o cualquier procesador de textos. En el aviso de Unix $ uno tipos

$ cat FilewE.m | sed 's/E-/*^-/g' | sed 's/E+/*^+/g' > FilewoE.m

Para los nuevos en Unix, el cat comando “concatena” un solo archivo (llamado FilewE.m en este ejemplo), que normalmente fluiría el contenido a la pantalla del terminal. En cambio, el flujo se canaliza | en sed y, para evitar matar a cualquier Es que aparecen en palabras, E- se reemplaza con *^- globalmente g. La salida de eso se canaliza a sed nuevamente para atrapar los exponentes positivos y la salida de eso se dirige > al archivo de salida llamado FilewoE.m en este ejemplo.

valoraciones y reseñas

Nos puedes ayudar nuestro ensayo exponiendo un comentario y dejando una valoración te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *