In breve: Python è un linguaggio molto migliore di Matlab , e ha caratteristiche di linguaggio generale più complete, ma Matlab ne ha un altro set completo di strumenti informatici scientifici di Python.
Octave ha anche strumenti scientifici più completi di Python, ed è un linguaggio più vicino a Matlab se già lo conosci, ma condivide anche i difetti della lingua. Octave e SciPy sono gratuiti, Matlab non è gratuito.
I am mainly focused on Signal Processing, Audio, Acoustics kind of computing.
Anch'io, e ho trovato SciPy mancante. Alcuni esempi:
- La documentazione è scadente o inesistente per molte funzioni
-
Strumenti di progettazione filtri converti in funzione di trasferimento rappresentazione internamente, quindi i filtri di ordine superiore soffrono di problemi di errore numerico. (risolto)
- Altre funzioni come
freqs
accettano solo tf rappresentazione, che, di nuovo, causa problemi di errore numerico.
- Non supporta i filtri nella rappresentazione delle sezioni secondarie
- FFT non sono veloci
- Un sacco di funzioni di Octave / Matlab non esistono ancora in SciPy, e non può essere tradotto direttamente da Octave perché di licenza GPL vs BSD
- ...
Tuttavia preferisco ancora SciPy, perché la lingua è molto più bella da usare e fa la maggior parte di ciò di cui ho bisogno. È gratuito e open-source, e sviluppato attivamente, e puoi contribuire facilmente semplicemente premendo "Modifica" su Github. Dal momento che principalmente sto usando questo per apprendere e mettere in pratica l'elaborazione del segnale, non considero un problema il fatto che io debba contribuire alla documentazione ( vecchio vs nuovo ) o miglioramenti io stesso. Questo è il genere di cose che voglio comunque imparare.
Inoltre, mentre cercavo di correggere alcune di queste cose, ho scoperto alcuni difetti negli strumenti di progettazione dei filtri di Matlab: 1 2 Quindi lo sviluppo open-source con molti casi di test ha il suo anche i vantaggi.