Eseguire una funzione matlab in java
Per chiarimenti: Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo.
Per poter eseguire una funzione matlab in ambiente java, contenuta in un file ".m", è necessario eseguire il deployment dell'applicazione ed installare il Matlab compiler runtime "MCRInstaller.exe". Per prima cosa creare un nuovo file .m.
All'interno del file ad esempio potremmo eseguire il plot di due paramtri passati dall'ambiente java.
**************************************file: jPlot.mfunction [iFail]=jPlot(x, y)
iFail=-1; %%non ci sono errori
if (size(x)==size(y))plot(x, y, 'r');
else
iFail=1; %%errore
end
end
**************************************da Matlab proviamo:
>> x=[1 2 3 4 5];
>> y=[23 44 55 66 33];
>> [iFail]=jPlot(x,y);
**************************************sempre in Matlab:
>> deploytool
serve per il deployment delle applcazioni. Con il deploytool possiamo creare oggetti COM da utilizzare in ambienti come VisualBasic 6 oppure, possiamo esportare per l'ambiente .NET (in setting dobbiamo selezionare la versione del framework). Possiamo anche esportare direttamente progetti fatti con le GUI di Matlab oppure fare delle librerie "dll" compilate per C/C++.
Nel nostro caso compileremo un file .jar e lo importeremo in eclipse per poter lanciare il comando plot. Dalla finestra di deploy selezioniamo "nuovo progetto" ed a seguire "MATLAB Builder JA", inseriamo il nome del progetto "jPlot" e clicchiamo invio. Trasciniamo nella cartella jPlot, presente nella finestra di deployment, il file jPlot.m. Clicchamo "Build project" ed attendiamo il completamento del processo di compilazione.
Apriamo eclipse, creiamo un nuovo progetto ed importiamo il file jPlot.jar disponibile nella cartella .......jPlot\distrib\jPlot.jar
importiamo anche .....\MATLAB\...\toolbox\javabuilder\jar\javabuilder.jar.
Successivamento nel main del progetto:
try {JPlot jP= new JPlot();
double [] x=new double[30];
x[i]=i+1;
double [] y=new double[30];
for (int i=0; i<30; i++)
y[i]=2*x[i]+10;
jP.jPlot(0, x, y);
} catch (Exception e) { e.printStackTrace();}
ricordatevi di installare il matlab compiler runtime "MCRInstaller.exe" .....e buona fortuna.
Ultimo aggiornamento (Sabato 12 Dicembre 2009 14:36)


