2012-03-12 8 views
14

Ho un algoritmo e qualche altro codice che è in MATLAB e voglio usarlo nella mia applicazione Android.Come integrare la libreria di codici Matlab con Android?

Come posso fare questo?

  • Posso creare un file jar da MATLAB per l'utilizzo con Android?
  • Devo fare qualcos'altro?
+1

È possibile includere jar nel progetto Android. Per questo vai alla proprietà del progetto, sotto la scheda delle librerie aperte di java builder. Puoi aggiungere il tuo file jar da qui –

+3

Lo so, come includere un file jar. Sto chiedendo come creare un barattolo da Matlab o se non jar, quindi cosa fare. – Azhar

risposta

13

Se si dispone di un prodotto aggiuntivo, MATLAB Builder JA for Java, si può produrre un file .jar dal codice MATLAB.

Tuttavia, il file .jar richiede MATLAB Compiler Runtime (un componente liberamente distribuibile che si ottiene con MATLAB Compiler e MATLAB Builder prodotti) di essere presenti. L'MCR ha un ingombro molto più ampio di quello adatto al tipico dispositivo Android (è come una copia di MATLAB stesso, senza l'interfaccia utente).

Si potrebbe pensare sia

  1. Il funzionamento del vostro MATLAB file .jar in remoto su un server, e avere l'applicazione Android connettersi ad esso, o
  2. Invece di usare MATLAB Compiler e prodotti Builder, utilizzare MATLAB Coder , che convertirà un sottoinsieme del linguaggio MATLAB direttamente nel codice C. Questo codice C non richiede l'MCR e potrebbe essere compilato per funzionare direttamente su Android. Assicurati che il tuo algoritmo MATLAB rientri o possa essere espresso nel sottoinsieme appropriato del linguaggio MATLAB.

Edit: Come di R2015a, funzionalità da MATLAB Builder JA per Java è stato sostituito da un nuovo prodotto, MATLAB Compiler SDK.

-1

Hai 2 opzioni,

  1. Creare un JAR e includere nella vostra applicazione Java e iniziare ad usarlo. (Non ho provato questo creando un JAR all'esterno di Eclipse)

  2. È possibile codificare la stessa cosa in C e utilizzare Android NDK per elaborarlo. (Questo sarà più veloce e più sicuro modo)

+0

Questo non parla affatto alla sua domanda. –

+0

Il jar non verrà eseguito su Android perché manca il MCR. – Daniel

3

Sono lo sviluppatore di Addi. http://addi.googlecode.com Addi sta rapidamente diventando una porta completa di Octave (che è uno strumento open source che utilizza la sintassi di Matlab). Addi avrà intenzione di utilizzare altre applicazioni come motori matematici o motori di tracciamento per altre applicazioni. Quindi, se puoi eseguire il tuo codice su Octave, molto presto sarai in grado di eseguirlo su Android.

1

La nostra unica opzione è ottenere il codice C++ dal codice M utilizzando la toolbox MATLAB Coder, che genera codice C e C++ autonomo dal codice MATLAB®. Supporta solo alcuni sottoinsiemi di tutte le funzioni Matlab, quindi potrebbe non essere adatto alle tue esigenze.

Con codice C è possibile compilarlo utilizzando NDK. MATLAB Compiler non è un'opzione qui.

0

È possibile convertire il codice matlab in python e quindi utilizzare il codice Python nell'androide. Ci sono molti tools per eseguire questa conversione. Python va bene con Android che MATLAB.

+0

Si presume che l'OP non stia utilizzando nessuno degli strumenti specializzati. L'uso della sintassi MATLAB nativa non costituirà un problema, se dovesse utilizzare elementi come la cassetta degli strumenti di elaborazione delle immagini o la cassetta degli strumenti di elaborazione del segnale, questa conversione non sarebbe possibile. – rayryeng

Problemi correlati