Есть ли простой способ предоставить веб-приложение или веб-сервис на основе Matlab?

StackOverflow https://stackoverflow.com/questions/322122

Вопрос

Мы с коллегой потратили несколько лет на разработку действительно классного приложения Matlab MDLcompress.В Matlab я могу ввести "MDLcompress('filename.txt')", и он расскажет мне всевозможные действительно интересные вещи о содержимом filename.txt.Мы хотели бы разрешить другим людям использовать MDLcompress без загрузки кода, установки Matlab и т.д.В идеале, у нас была бы простая веб-страница, на которой они выбирали файл со своего компьютера, он загружался на мою рабочую станцию (на которой уже запущен tomcat для других целей, если это упростит задачу), запускал процесс по типу "matlab < MDLcompress.m filename.txt > results.txt", а затем отображался results.txt в их браузере или показывал ссылку, позволяющую им загрузить его.

Проблема в том, что мои навыки работы с Matlab намного превосходят мои веб-навыки.В Google есть 100 общих руководств, но ничего такого простого, как я хочу, по крайней мере, не специфичного для Matlab.

Заранее благодарю

Это было полезно?

Решение

Если вы в основном владеете MATLAB, вы можете написать веб-приложение на MATLAB с помощью Веб-сервер MATLAB Редактировать: Веб-сервер Matlab снят с производства, поэтому он не для вас, если вы используете последнюю версию Matlab.Может быть этот учебник поможет создать CGI-модуль из кода Matlab.

Другие советы

Возможный способ заключается в том, чтобы скомпилируйте код matlab в C, и затем преобразуйте файл C в модуль apache, и использовать сервер apache.Я понятия не имею, насколько это сложно, но это может сработать.

Основываясь на тегах, я предполагаю, что вы пытаетесь выполнить развертывание в Tomcat или аналогичном.Самый простой способ сделать это - использовать MATLAB Builder JA чтобы создать Java-оболочку для вашего кода, затем используйте стандартные инструменты для развертывания Java как веб-службы.

Если вы можете позволить себе потерять некоторые из более мощных проприетарных функций Matlab, существует несколько движков числовых вычислений с открытым исходным кодом, которые используют синтаксис, в основном совместимый с синтаксисом Matlab.Одним из наиболее зрелых из них является GNU Октава.

Существует несколько примеров онлайновых интерфейсов Octave. Октава Онлайн это новый интерфейс, который поддерживает оперативную подсказку и онлайн-редактор.Я являюсь членом команды, разрабатывающей Octave Online.Вы можете найти больше примеров онлайн-интерфейсов Octave на the Octave вики. Список рассылки Octave является хорошим ресурсом для предыдущих онлайн-проектов Octave.

Мы разработали набор инструментов под названием Набор инструментов веб-сервера Modelit это должно позволить вам сделать это.Мы сами используем это для запуска алгоритма маршрутизации, реализованного в Matlab, для онлайн-планировщика маршрутов (ссылка есть на нашем веб-сайте).Вы можете использовать toolbox совместно с Tomcat и Matlab (2006b и выше) или скомпилированный исполняемый файл Matlab.Панель инструментов также предоставляет механизм для параллельного выполнения нескольких заданий.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top