Me imagino que este es un problema difícil en general, pero se puede resolver fácilmente con un poco de programación para un caso particular. Lo demostraré con C#.
Construiría una cadena de llamadas, como tal.
- Mathematica llama a un programa en C#, a través MathLink. Esta configuración es casi trivial y Mathematica tiene un proyecto de ejemplo en el directorio de Mathematica \ 8.0 \ SystemFiles \ Links \ NETLink.
- El programa C# llama a Matlab. Hay varias formas de realizar esta llamada, y this handy link describe cómo hacerlo y ofrece un código de muestra.
- El programa C# devuelve los resultados de Matlab.
Con todo, podría hacer esto en menos de 50 líneas de código C#, para un problema específico. No mucho trabajo, en otras palabras. Los posibles problemas son la conversión de datos, pero si desea enviar conjuntos de datos de ida y vuelta, MathLink ofrece un montón de caja. Del mismo modo, Mathematica se puede vincular a MATLAB a través de Java, aunque yo mismo no lo he hecho.
Quizás la conexión más fácil podría hacerse a través de Python. Mathematica ofrece una biblioteca de Python instalable MathLink, ubicada en Mathematica \ 8.0 \ SystemFiles \ Links \ NETLink, y Matlab tiene una biblioteca de complementos llamada PyMat, que puede descargarse here, pero este paquete no se ha mantenido por mucho tiempo. tiempo y solo apoya a los más antiguos de Matlabs.
Alternativamente puede renunciar a Matlab en conjunto a favor de SAGE y/o numpy.
+1 Me encantaría saber cómo hacer esto también, algunas cosas son más fáciles en Matlab y algunas cosas son más fáciles en Mathematica. – mor22
John, ¿has probado la otra respuesta que publiqué en mayo de 2013? – Szabolcs
@Szabolcs No, lo publicaste después de que me mudé a un nuevo trabajo, donde solo uso Matlab. Tengo matematicas en casa, pero no he tenido que hacer este tipo de guiones cruzados en casa. – John