Desidero che il programma Matlab chiami un file java, preferibilmente con un esempio.Chiamare Java da MATLAB?
risposta
Ok, proverò a dare un mini-esempio qui. Utilizza le funzioni java direttamente dalla finestra di Matlab come suggerisce zellus oppure, se necessario, crea la tua classe java. Ecco un esempio:
package testMatlabInterface;
public class TestFunction
{
private double value;
public TestFunction()
{
value = 0;
}
public double Add(double v)
{
value += v;
return value;
}
}
Quindi trasformarlo in un file jar. Supponendo che si inserisce il file in una cartella denominata testMatlabInterface
, eseguire il seguente comando nella riga di comando:
jar cvf testMatlab.jar testMatlabInterface
Poi, in Matlab, passare alla directory in cui si trova il file testMatlab.jar
ed eseguire il comando, import testMatlabInterface.*
importare tutte le classi nel pacchetto testMatlabInterface
. Quindi è possibile utilizzare la classe in questo modo:
>> methodsview testMatlabInterface.TestFunction
>> me = testMatlabInterface.TestFunction()
me =
[email protected]
>> me.Add(10)
ans =
10
>> me.Add(10)
ans =
20
>> me.Add(10)
ans =
30
Fammi sapere se posso essere di ulteriore assistenza.
Grazie mille! Il tuo post è stato molto utile –
Ci sono tre casi da considerare.
Librerie incorporate Java.
Cioè, qualsiasi cosa descritta here. Questi articoli possono essere semplicemente chiamati direttamente. Ad esempio:
map = java.util.HashMap; map.put(1,10); map.put(2,30); map.get(1) %returns 10
L'unica complicazione è la mappatura di Matlab tra tipi di dati Matlab e tipi di dati Java. Queste mappature sono descritte here (Matlab to Java) e here (Java to Matlab). (Tl; dr: di solito le mappature sono come ci si aspetterebbe)
precompilati * .jar
È necessario prima di aggiungerli al percorso classe Java di Matlab. È possibile farlo in modo dinamico (cioè, per-Matlab sessione, senza richiesta di stato Matlab), come segue:
javaaddpath('c:\full\path\to\compiledjarfile.jar')
È anche possibile aggiungere questi staticamente modificando il file classpath.txt. Per ulteriori informazioni, utilizzare
docsearch java class path
.File * .class precompilati.
Questi sono simili al file * .jar, tranne che è necessario aggiungere la directory contenente il file di classe, piuttosto che i file di classe stessi. Per esempio:
javaaddpath('c:\full\path\to\directory\containing\class\files\') %NOT THIS: javaaddpath('c:\full\path\to\directory\containing\class\files\classname.class')
Grazie mille. La tua guida mi ha davvero aiutato! –
classe non trovata eccezione, anche se ho aggiunto il percorso – zinking
@zinking assicuratevi che durante la compilazione delle classi Java, abbiate come target una versione di JRE almeno vecchia come quella fornita con la versione di MATLAB che state utilizzando. Se i file di classe hanno un numero di versione più recente di quello supportato da JRE di MATLAB, non verranno caricati e si otterrà ClassNotFoundException quando si tenta di utilizzarli. Ad esempio, R2006b viene fornito con JRE5, quindi è necessario utilizzare 'javac --source 1.5 --target 1.5
- 1. Come chiamare il codice MATLAB da C?
- 2. Chiamare Rust da Java
- 3. Esecuzione della funzione MATLAB da Java
- 4. Come chiamare C++ da Java?
- 5. Responsive GUI MATLAB senza chiamare drawNow() direttamente
- 6. Come eseguire il codice MATLAB da Java?
- 7. Invia dati a Matlab da Android/Java
- 8. Chiamare mxDestroyArray su oggetti mxArray restituiti da Matlab Compiler Runtime
- 9. MATLAB: Java String [] conversione
- 10. Chiamare un'API Java da .NET - metodo migliore
- 11. Come chiamare la funzionalità C++ da java
- 12. Come chiamare le funzioni Java da C++?
- 13. Chiamare le classi Java da IzPack
- 14. Come chiamare la funzione C# da java
- 15. java chiamare un metodo da un'altra classe
- 16. Chiamare una subroutine Fortran da Java
- 17. Come chiamare un servlet da codice Java
- 18. Chiamare Haskell da Java con C tra
- 19. Chiamare il metodo API Win32 da Java
- 20. Come chiamare Java da C++ usando SWIG?
- 21. Chiamare le funzioni Javascript da un'applet Java
- 22. Come chiamare la classe java da jmeter?
- 23. Chiamare Python in Java?
- 24. Chiama codice C++ da MATLAB?
- 25. la lettura dei dati da MATLAB in Java
- 26. Implementazione dell'interfaccia Java in MATLAB
- 27. Connessione a MongoDB da MATLAB
- 28. matlab matrix funziona in java
- 29. Come chiamare una funzione Mathematica all'interno di Matlab?
- 30. Come chiamare una funzione collocata in un'altra directory in Matlab?
si prega di leggere la documentazione. [Utilizzo di librerie Java da MATLAB] (http://www.mathworks.ch/help/techdoc/matlab_external/f44062.html) – zellus