2008-11-26 8 views
12

Un colega y yo llevamos unos años desarrollando una aplicación Matlab realmente genial, MDLcompress. Dentro de Matlab, puedo escribir "MDLcompress ('filename.txt')" y me dirá todo tipo de cosas geniales sobre el contenido de filename.txt. Nos gustaría permitir que otras personas usen MDLcompress sin descargar el código, instalar Matlab, etc. Idealmente, tendríamos una página web simple en la que seleccionaran un archivo de su máquina, se cargó en mi estación de trabajo (que ya está ejecutar tomcat para otros fines, si eso facilita las cosas), inició un proceso en la línea de "matlab < MDLcompress.m filename.txt> results.txt" y luego mostró results.txt en su navegador o mostró un enlace para dejar ellos lo descargan¿Existe alguna manera sencilla de proporcionar una aplicación web o servicio web basado en Matlab?

Problema es que mis habilidades de Matlab superan con creces mis habilidades web. Google tiene 100 tutoriales genéricos, pero nada tan simple como yo quiera, al menos no específico para Matlab.

Gracias de antemano

Respuesta

7

Si está mayormente competentes en MATLAB se puede escribir aplicaciones web en MATLAB con MATLAB Web Server Editar: Matlab Web Server se interrumpe, por lo que no es para usted si utiliza versión reciente de Matlab. Puede ser this tutorial lo ayudará a crear un módulo CGI a partir del código de Matlab.

+0

El tutorial al que se ha vinculado es casi exactamente lo que estaba buscando. Ahora solo necesito descubrir cómo hacer que CGI funcione, pero hay muchas cosas en línea para hacerlo. Gracias - pl – PlexLuthor

+0

De nada :) ¿Va a hacer que su aplicación sea pública? –

+0

En cuanto a hacerlo público, probablemente no por un tiempo. Trabajo para una gran corporación grande, y me permiten publicar el algoritmo en pseudocódigo, pero no hacerlo disponible, ni siquiera para la venta. – PlexLuthor

3

Una manera posible es compile the matlab code en C, y luego make the C file into an apache module, y el uso de un servidor Apache. No tengo idea de lo complicado que es esto, pero puede funcionar.

+0

Bueno, una vez que se compila en c, hay muchas posibilidades infinitas de cómo ejecutarlo desde una página web. La mejor manera que supongo en el caso actual sería usar php o python y ejecutar la aplicación c desde ese código. – Loki

+0

Este es definitivamente el camino a seguir. Los archivos de Matlab se pueden compilar en programas, luego puede vincular el programa a tomcat o apache. Esa parte está más allá de mí, pero no debería ser un problema real. – Karl

3

Según las etiquetas, supongo que está intentando implementar en Tomcat o similar. La forma más sencilla de hacerlo es usar MATLAB Builder JA para crear un contenedor Java para su código, luego use las herramientas estándar para implementar Java como un servicio web.

1

Hemos desarrollado una caja de herramientas llamada Modelit Webserver Toolbox que debería permitirle hacer esto. Usamos esto nosotros mismos para ejecutar un algoritmo de enrutamiento implementado en Matlab para un planificador de rutas en línea (el enlace está en nuestro sitio web). Puede usar la caja de herramientas junto con Tomcat y Matlab (2006b y posteriores) o un ejecutable compilado de Matlab. La caja de herramientas también proporciona un mecanismo para ejecutar varios trabajos en paralelo.

3

Si puede permitirse el lujo de perder algunas de las características propietarias más potentes de Matlab, existen varios motores de cálculo numérico de código abierto que usan una sintaxis mayormente compatible con la de Matlab. Uno de los más maduros de estos es GNU Octave.

Existen varios ejemplos de interfaces de octava en línea. Octave Online es una nueva interfaz que admite un aviso en vivo y un editor en línea. Soy un miembro del equipo que desarrolla Octave Online. Puede encontrar más ejemplos de interfaces de Octave en línea en the Octave wiki. The Octave mailing list es un buen recurso para proyectos anteriores de Octave en línea.

Cuestiones relacionadas