image-processing - tabla - importar archivo mathematica
Exportación de un trazado como una imagen en Mathematica en una máquina sin X11(es decir, sin involucrar el frontend) (2)
Considere el siguiente diálogo con la interfaz de línea de comando para el kernel:
$ math
Mathematica 6.0 for Linux x86 (32-bit)
In[1]:= p = Plot[x^2, {x,-1,1}]
Out[1]= -Graphics-
In[2]:= Export["foo.png", p]
Out[2]= foo.png
Eso funciona bien en una máquina con $Version = 6.0 for Linux x86 (32-bit) (June 2, 2008)
pero falla en una máquina con $Version = 7.0 for Linux x86 (64-bit) (November 11, 2008)
con el siguiente error:
Export::nofe: A front end is not available; export of PNG
requires a front end.
Con errores similares para cualquier otro formato de imagen que se me ocurra.
Entonces la pregunta es, ¿cómo puedo obtener el kernel de Mathematica, sin interfaz, para exportar imágenes? ¿Por qué funciona sin problemas en Mathematica 6.0? Si el ejemplo anterior funciona para usted en la versión 7, ¡por favor hágamelo saber!
PD: la versión 7 introdujo la función UsingFrontEnd
pero eso falla con
Developer`UseFrontEnd::nofestart:
Unable to launch a front end. Proceeding without a front end.
presumiblemente porque X11 no está instalado en la máquina.
Apéndice
Resulta que no hay diferencia entre la versión 6 y la versión 7 en este sentido. Por el contrario, en la máquina con la versión 6, la interfaz se invocaba en silencio. El problema con la otra máquina, como dejan en claro las respuestas a esta pregunta, es que no había ningún servidor X y, por lo tanto, no se podía invocar la interfaz.
La exportación de gráficos también requiere la interfaz en la versión 6. A su vez, la interfaz puede requerir X (después de todo, incluso algunas de las representaciones 2D requieren aceleración de gráficos 3D ...)
Solo tengo v6 para Windows. Allí, la parte frontal se inicia automáticamente en segundo plano, según sea necesario, al exportar gráficos desde una sesión de línea de comando.
Necesita una interfaz para exportar gráficos del MathKernel. La representación de gráficos está completamente cubierta por la interfaz. Sin Front End, no tienes gráficos para exportar. No hay solución.
Lo que puede hacer, si tiene una interfaz funcional, es usar:
UseFrontEnd[Export[filename,graphics]]
Esto invocará el extremo frontal de la terminal, lo que le permite exportar los gráficos.
Para tener un front-end funcional en la máquina Linux sin el servidor X y el administrador de Windows instalados, tiene las siguientes opciones:
Use la pantalla X de alguna otra máquina. Ver, por ejemplo, http://www.hungry.com/~jamie/xexport.html . Básicamente se reduce a establecer la variable de entorno
export DISPLAY=machine_address:0.0
o pasar durante cada opción de ejecución-display machine_address:0.0
.Instale localmente Xvfb que es un frame-buffer de servidor X. Es bastante simple y sencillo de usar. Véase, por ejemplo, la entrada de Wikipedia en Xvfb. Puede configurar X display cuando ejecuta Xvfb
Xvfb :display_nr &
y luego usarlo como en la opción anterior.