2010-01-25 19 views

risposta

0

Ci sono 2 modi per fare questo:

  1. utilizzare il motore di Matlab, che ha un'interfaccia C (vedi il link della prima risposta per questo). È obbligatorio avere Matlab installato su tutte le macchine su cui si desidera eseguire questa operazione (vedere la licenza Matlab per i dettagli)
  2. Utilizzare Matlab Builder per Java che compila il codice MATLAB e produce direttamente un'interfaccia Java delle funzioni. Con questa soluzione, è necessario il compilatore Matlab e Matlab Builder per Java, ma è possibile quindi distribuire la soluzione senza pagare di più. Si noti che è necessario installare Matlab Compiler Runtime (MCR) su ciascuna macchina, ma questo è gratuito.
5

Se non si desidera acquistare di MathWork MATLAB Builder for Java Toolbox, è possibile utilizzare non documentata JMI di MATLAB (Java-MATLAB Interface). Cerca nel newsgroup CSSM (o Google) per JMI o JMatLink basato su JMI. Il codice MATLAB è pieno di esempi di utilizzo di JMI - cerca "jmi" usando lo strumento di ricerca dell'editor MATLAB sull'intera installazione di MATLAB.

Si noti che JMI non è né documentato né ufficialmente supportato da MathWorks. Inoltre, se utilizzato in modo improprio, può bloccare o bloccare la tua applicazione. Ma è gratuito, a differenza della cassetta degli attrezzi.

1

Invece di utilizzare JMI non documentato (Java MATLAB Interface) menzionato da Yair, è possibile utilizzare matlabcontrol che è un'API Java che si avvolge attorno a JMI che lo rende molto più facile da usare. È ben documentato e ha una introduzione walkthrough. A differenza dell'utilizzo diretto di JMI, può essere utilizzato anche quando si esegue un programma Java all'esterno di MATLAB.

1

Ho utilizzato Java Builder per l'esecuzione di script/funzioni MATLAB in applicazioni java e sembra essere molto semplice e utile.

Per questo scopo, è necessario disporre di strumenti Java JA toolbox per distribuire lo script/funzione matlab come classe java.

È quindi necessario aggiungere la classe java (convertita) alla libreria del progetto java e in aggiunta il file jar javabuilder.

Dopo aver eseguito i passaggi precedenti, è possibile eseguire facilmente lo script matlab (che ora è una classe java nella libreria del progetto) semplicemente chiamando il nome della classe nel codice. Se la classe è una funzione MATLAB, è possibile passare i paramenter e ottenere facilmente i valori di ritorno.

Ma non è l'unico modo per farlo. Ma questo mi sembra relativamente facile.

Spero che questo risponda alla tua domanda.

Problemi correlati