2012-08-31 14 views
6

Me pregunto si nosotros, los usuarios de Matlab, podemos obtener el código de algunas funciones en Matlab (como fft, transformada rápida de Fourier, dwt, transformada de wavelet descreta, etc.) En caso de que queramos editar algo para adaptarlo a Lo que necesitamos. ¿Es posible en Matlab? y si es así, ¿cómo podemos obtener el código? Gracias.obtener el código de funciones en Matlab?

+5

Para la mayoría de las funciones de Matlab, puede ver el código fuente escribiendo "editar " en el indicador de Matlab. –

+3

Sin embargo, la mayoría de las funciones básicas se implementan internamente y no podrá ver el código fuente. – Royi

+3

Puede _can_ en [numpy] (http://numpy.scipy.org/), y eso tiene la ventaja adicional de no ser Matlab. :) –

Respuesta

2

Como ya se mencionó, muchas de las funciones de MATLAB están escritas en MATLAB, por lo que puede ver la fuente. Por motivos de rendimiento, algunas cosas se implementan en código nativo o usan bibliotecas externas. En el caso de FFT, MATLAB usa la biblioteca FFTW, a la cual la fuente está disponible libremente. Consulte también http://www.mathworks.co.uk/help/techdoc/ref/fftw.html

1

Hay una opción en matlab en el menú del directorio actual a la izquierda, el nombre de la opción es "buscar archivos" que se representa como un icono de binoculares, simplemente haga clic en él, establezca el directorio "Entrar en Matlab Path" e ingrese el nombre de la función para buscar,

por ejemplo, si quiero buscar la función imnoise, escribo "imnoise.m" después de obtener el resultado de la búsqueda, simplemente haga doble clic en el archivo de función y allí puede editar lo que desee

0

Para resumir un poco, a varias formas de hacerlo:

Leer más.

Por ejemplo, si queremos ver el código fuente de la función imread:

a) edit para editar o crear archivos

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

b) open abrir el archivo en la aplicación apropiada

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

c) type para mostrar el contenido del archivo:

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

Nota que funcName stringLiteral es la sintaxis de comandos , que es igual a su sintaxis de la funciónfuncName('stringLiteral'). Consulte Command vs. Function Syntax

Cuestiones relacionadas