2014-07-14 2 views
5

ausführen Ich versuche, eine benutzerdefinierte matlab Funktion (.m Datei) von Java-Android-Anwendung, die in Eclipse mit matlabcontrol.jar entwickelt wird, zu starten.Wie Matlab-Skript von Java (für Android) mit Matlabcontol.jar

Eigentlich funktioniert es gut, wenn ich es im Java-Projekt verwende. Aber ich frage mich, ist es möglich, es zu verwenden, wenn ich Android-Anwendung entwickeln.

Das Problem ist, wenn ich matlabcontrol.jar für Java-Projekt verwenden, es öffnet sich und läuft matlab Anwendung (wie R2009b matlab) automatisch, obwohl ich es nicht verwenden möchten. Dann renne und drucke das Ergebnis auf der matlab Konsole.

Dann denke ich, wenn jemand, der matlab Anwendung in ihrem Computer oder Smartphone nicht installiert hat, keine Anwendung verwenden kann, die matlab Code enthalten ist.

Also, ich möchte nur matlab Code auf Java-Programm (für Android) ausführen, nicht mit matlab Anwendung. Geben Sie mir bitte eine Option oder einen alternativen Weg zum Training?

Bitte helfen. Danke.

+0

Die Verwendung von Matlabcontrol ist nicht möglich, da Matlabcontrol die Funktionalität nicht implementiert, es steuert nur Matlab. Die Alternativen, die ich sehe, sind 1) Matlab Mobile 2) Octave für Android 3) Generiere C++ - Code und kompiliere es in eine native Bibliothek. – Daniel

Antwort

3

matlabcontrol gibt Ihnen nur eine Möglichkeit, eine laufende Kopie von MATLAB aus Java aufzurufen. Wenn Sie etwas MATLAB-Code haben, den Sie auf einem Android-Gerät ausführen möchten, wird dies nicht für Sie funktionieren, da es keine Version von MATLAB gibt, die auf Android ausgeführt wird.

Wenn Sie MATLAB-Code, die Sie als Teil einer Android-Anwendung ausführen möchten, haben Sie zwei echte Möglichkeiten:

i) MATLAB Coder Verwenden Sie den MATLAB-Algorithmus in C-Code zu konvertieren, das kann sein kompiliert, aus Java aufgerufen und in Ihrer App enthalten, um auf dem Gerät ausgeführt zu werden. Sie müssen sicherstellen, dass Ihr MATLAB-Algorithmus in die Teilmenge der MATLAB-Sprache fällt, die von MATLAB Coder unterstützt wird, aber das ist normalerweise kein großes Problem. MathWorks hat ein aufgezeichnetes Webinar mit einem funktionierenden Beispiel, wie man das macht (es ist Objective C auf dem iPhone anstatt Java auf Android, aber die Prinzipien sind die gleichen). Es wird so etwas wie "MATLAB to iPhone made easy" genannt, wenn Sie es nachschlagen wollen. Hier ist the link to it.

ii) Verwenden Sie entweder MATLAB Builder NE für .NET oder MATLAB Builder JA für Java, um Ihren MATLAB-Algorithmus als Webdienst bereitzustellen und Ihre Android-Anwendung diesen Webdienst aufrufen zu lassen.

PS MATLAB Mobile ist hier keine relevante Option - es ist ein Tool zum Herstellen einer Verbindung mit einer MATLAB-Sitzung auf Ihrem Computer oder in der Cloud und zum interaktiven Ausführen von MATLAB-Code. Es gibt Ihnen keine Möglichkeit, MATLAB-Code auf dem Gerät selbst auszuführen.

Verwandte Themen