Я полагаю, что это сложная проблема в целом, но ее можно легко решить с помощью небольшого программирования для конкретного случая. Я продемонстрирую с C #.
Я бы построил строку вызовов, вот так.
- Mathematica вызывает программу на C # через MathLink . Это почти тривиально для установки, и Mathematica имеет пример проекта в каталоге Mathematica \ 8.0 \ SystemFiles \ Links \ NETLink .
- Программа C # вызывает Matlab. Есть несколько способов сделать этот вызов, и эта удобная ссылка описывает, как это сделать, и предлагает пример кода.
- Программа C # возвращает результаты Matlab.
В целом, я мог бы сделать это менее чем за 50 строк кода на C # для решения конкретной проблемы. Другими словами, не слишком много работы. Возможные проблемы заключаются в преобразовании данных, но если вы хотите отправлять туда и обратно массивы данных, MathLink предлагает многое из коробки. Точно так же Mathematica может быть связана с MATLAB через Java, хотя я сам этого не делал.
Возможно, самое простое соединение может быть сделано через Python. Mathematica предлагает устанавливаемую библиотеку MathLink python, расположенную по адресу Mathematica \ 8.0 \ SystemFiles \ Links \ NETLink , а Matlab имеет библиотеку дополнений PyMat, которую можно загрузить здесь , но этот пакет давно не поддерживается и поддерживает только самые древние из Matlabs.
В качестве альтернативы вы можете вообще отказаться от Matlab в пользу SAGE и / или numpy.