2012-08-31 19 views
6

Mi chiedo se noi - gli utenti Matlab possano ottenere il codice di alcune funzioni in Matlab (come la trasformata di Fourier fft-fast, la trasformazione wavelet descritta da dwt e così via). Nel caso volessimo modificare qualcosa per adattarci con ciò che ci serve. È possibile in Matlab? e se sì, come possiamo ottenere il codice? Grazie.ottiene il codice delle funzioni in Matlab?

+5

Per la maggior parte delle funzioni Matlab è possibile visualizzare il codice sorgente digitando "modifica " al prompt Matlab. –

+3

Tuttavia la maggior parte delle funzioni di base sono implementate internamente e non sarà possibile visualizzare il codice sorgente. – Royi

+3

You _can_ in [numpy] (http://numpy.scipy.org/), e questo ha il vantaggio di non essere Matlab! :) –

risposta

2

Come già accennato, molte funzioni MATLAB sono scritte in MATLAB, quindi puoi vedere la fonte. Per motivi di prestazioni, alcune cose sono implementate nel codice nativo o utilizzano librerie esterne. Nel caso di FFT, MATLAB usa la libreria FFTW, a cui la fonte è liberamente disponibile. Vedi anche http://www.mathworks.co.uk/help/techdoc/ref/fftw.html

1

C'è un'opzione in MATLAB sotto il menu di directory corrente sulla sinistra, il nome dell'opzione è "trova file" che è rappresentato come un'icona del binocolo, è sufficiente fare clic su di esso, impostare la directory su "Inserisci percorso Matlab" e inserisci il nome della funzione da cercare,

per esempio, se voglio cercare la funzione imnoise, digiterò "imnoise.m" dopo aver ottenuto il risultato della ricerca, semplicemente fai doppio clic sul file di funzione e lì puoi modificare quello che vuoi

0

In sintesi un po ', un diversi modi per farlo:

Leggi tutto.

Ad esempio, se vogliamo vedere il codice sorgente della funzione imread:

a) edit modificare o creare file di

edit imread; %namely, edit('imread') 
edit imread.m; %edit('imread.m') 

b) open per aprire file in applicazione appropriata

open imread; %open file 'imread.m' with matlab editor 

c) type per visualizzare il contenuto del file:

type imread; %this will display all the contents in command window, which is hard to read 

Nota che funcName stringLiteral è la sintassi dei comandi , che è uguale la sua funzione sintassifuncName('stringLiteral'). Vedi Command vs. Function Syntax

Problemi correlati