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.
Indice dei contenuti
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.