2012-03-12 6 views
14

У меня есть алгоритм и другой код, который находится в MATLAB, и я хочу использовать его в своем приложении для Android.Как интегрировать библиотеку кода Matlab с Android?

Как это сделать?

  • Могу ли я сделать файл jar из MATLAB для использования с Android?
  • Я должен сделать что-то еще?
+1

Вы можете включить банку в свой проект андроида. Для этого перейдите в свойство проекта, в закладке открытых библиотек java builder. Вы можете добавить свой файл jar отсюда –

+3

Я знаю, как включить файл jar. Я спрашиваю, как сделать банку из Matlab или если не jar, то что делать. – Azhar

ответ

13

Если у вас есть дополнительный продукт, MATLAB Builder JA for Java, вы можете произвести .jar файл из кода MATLAB.

Однако для файла .jar требуется MATLAB Compiler Runtime (свободно распространяемый компонент, который вы получаете вместе с компонентами MATLAB Compiler и MATLAB Builder). MCR имеет гораздо больший размер, чем подходит для обычного устройства Android (это похоже на копию самой MATLAB без пользовательского интерфейса).

Вы могли бы думать ни о

  1. Запуск ваш MATLAB .jar файл на удаленном сервере, и иметь свой Android приложение подключиться к нему, или
  2. Вместо использования MATLAB Compiler и Builder продукты, использовать MATLAB Coder , который преобразует подмножество языка MATLAB непосредственно в C-код. Этот код C не требует MCR и может быть скомпилирован для работы непосредственно на Android. Убедитесь, что ваш алгоритм MATLAB попадает внутрь или может быть выражен в соответствующем подмножестве языка MATLAB.

Edit: На R2015a, функциональность от MATLAB Builder JA для Java был заменен новым продуктом, MATLAB Compiler SDK.

-1

У вас есть 2 варианта,

  1. Создание JAR и включить в Java Application и начать использовать его. (Я не тестировал это, создав JAR за пределами Eclipse)

  2. Вы можете запрограммировать то же самое на C и использовать Android NDK для его обработки. (Это будет быстрее и безопасный способ)

+0

Это вообще не говорит о его вопросе. –

+0

Банкомат не будет работать на Android, потому что MCR отсутствует. – Daniel

3

Я разработчик Addi. http://addi.googlecode.com Addi быстро становится полным портом Octave (который является инструментом с открытым исходным кодом, который использует синтаксис Matlab). У адди есть намерения для других приложений использовать его в качестве своих математических движков или графических движков. Итак, если вы можете запустить свой код в Octave, то очень скоро вы сможете запустить его на Android.

1

Наш единственный вариант - получить код C++ из кода M, используя MATLAB Coder toolbox, который генерирует автономный код C и C++ из кода MATLAB®. Он поддерживает только некоторое подмножество всех функций Matlab, поэтому может быть не подходит для ваших нужд.

С кодом C вы можете скомпилировать его с помощью NDK. Компилятор MATLAB здесь не вариант.

0

Вы можете преобразовать код matlab в python, а затем использовать код python в android. Для этого преобразования существует много tools. Python отлично подходит для Android, а не для Matlab.

+0

Предполагается, что OP не использует ни один из специализированных наборов инструментов. Использование только собственного синтаксиса MATLAB не будет представлять проблемы, если он/она должен был использовать такие вещи, как панель обработки изображений или панель инструментов обработки сигналов, это преобразование было бы невозможным. – rayryeng

Смежные вопросы