Schede riassuntive

Chiamata di MATLAB da Python

Questo riferimento mostra i casi d’uso più comuni, ma non è in alcun modo esaustivo. 

Ottimizzazione di Python con MATLAB

Integra gli strumenti avanzati di MATLAB direttamente nei tuoi workflow di Python.

Configurazione

Installazione dell’API MATLAB Engine per Python

Per utilizzare l’API MATLAB Engine per Python®, è necessario avere entrambi i programmi installati sul sistema. Installa l’API Engine come pacchetto Python.

Installazione tramite pip

Dal prompt di sistema: 

$ python -m pip install matlabengine

Installazione tramite setup.py

Esegui il file setup.py dal prompt di sistema:

$ cd [matlabroot]/extern/engines/ python
 $ python setup.py install

Per la risoluzione dei problemi, assicurati di disporre dei privilegi (esegui come amministratore) e verifica i percorsi PYTHONPATH e di sistema. 

API MATLAB Engine

Usa l’API MATLAB Engine per chiamare MATLAB da Python.

Importa il modulo e avvia l’engine:

>>> import matlab.engine
>>> eng = matlab.engine. start_matlab() 

Chiama le funzioni tramite l’engine:

>>> x = eng.sqrt(42.0) 

Acquisisci più output:

>>> x = eng.gcd(42.0,8.0,nargout=3) 
>>> x = eng.plot(x,y,nargout=0) 

Arresta l’engine:

>>> x = eng.exit()

Conversioni di tipi di dati

I tipi di dati saranno convertiti automaticamente quando possibile.

Python MATLAB
float double
complex complex double
int int64
float(nan) NaN
float(inf) Inf
bool logical
str char
dict struct
list cell array
set cell array
tuple cell array

Puoi creare array MATLAB in Python per passare facilmente i dati alle funzioni MATLAB:

>>> x = matlab. double([1,4,9])

Utilizzo delle app MATLAB

Utilizzo dell’area di lavoro di MATLAB Engine

L’area di lavoro di MATLAB Engine può essere utilizzata per accedere alle variabili da MATLAB e Python e facilita l’uso delle app.

Aggiungi una variabile all’area di lavoro:

>>> x = 4.0 >>> eng.workspace['y'] = x 

Accedi alla variabile dall’area di lavoro di MATLAB:

>>> x = eng.workspace['y'] 

Esegui istruzioni utilizzando la funzione eval:

>>> a = eng.eval('sqrt(y)')

Puoi aprire le app in MATLAB da Python utilizzando il comando corrispondente all’app:

>>> eng.signalAnalyzer() 
>>> eng.classificationLearner()

Creazione di un pacchetto Python

Pacchettizza le funzioni MATLAB. Usa l’app Library Compiler per creare un pacchetto Python per le funzioni MATLAB.

Richiama le funzioni MATLAB dal pacchetto Python:

>>> import PackageName 
>>> pkg = PackageName.initialize() 
>>> result = pkg.Foo() 

Chiudi il pacchetto:

>>> pkg.terminate()

MATLAB in altri IDE

Puoi usare MATLAB da Jupyter® o VSCode.

Installazione dell’integrazione MATLAB per Jupyter

Ad esempio, installa il pacchetto per eseguire MATLAB da Jupyter.

$ python pip install jupyter-matlab-proxy 
$ install-matlab-kernelspec 

Ora puoi usare MATLAB in un browser o eseguire codice nel tuo notebook con il kernel MATLAB.