2012-08-31 17 views
6

Ich frage mich, ob wir - die Matlab-Benutzer können den Code einiger Funktionen in Matlab bekommen (wie fft - schnelle Fourier-Transformation, dwt - diskrete Wavelet-Transformation, und so weiter.) Nur für den Fall, dass wir etwas anpassen möchten was wir brauchen. Ist es in Matlab möglich? und wenn ja, wie können wir den Code bekommen? Danke.Holen Sie sich den Funktionscode in Matlab?

+5

Für die meisten Matlab-Funktionen können Sie den Quellcode sehen, indem Sie an der Matlab-Eingabeaufforderung "edit " eingeben. –

+3

Die meisten grundlegenden Funktionen sind jedoch intern implementiert und Sie können den Quellcode nicht sehen. – Royi

+3

Sie _can_ in [numpy] (http://numpy.scipy.org/), und das hat den zusätzlichen Bonus, Matlab nicht zu sein! :) –

Antwort

2

Wie bereits erwähnt, sind viele MATLAB-Funktionen in MATLAB geschrieben, so dass Sie die Quelle sehen können. Aus Leistungsgründen werden einige Dinge in nativem Code implementiert oder externe Bibliotheken verwendet. Bei FFT verwendet MATLAB die FFTW-Bibliothek, zu der die Quelle frei verfügbar ist. Siehe auch http://www.mathworks.co.uk/help/techdoc/ref/fftw.html

1

Es gibt eine Option in Matlab unter dem aktuellen Verzeichnis-Menü auf der linken Seite, der Name der Option ist "Find Files", die als ein Symbol von Ferngläsern dargestellt wird, klicken Sie einfach darauf, legen Sie das Verzeichnis auf "Matlab Path eingeben" und geben Sie den Funktionsnamen zu suchen,

zum Beispiel, wenn ich Funktion Imnoise suchen möchte, würde ich "imnoise.m" nach dem Erhalten des Ergebnisses der Suche eingeben, doppelklicken Sie einfach auf die Funktionsdatei und dort Sie können bearbeiten, was Sie wollen

0

ein wenig Zusammenfassend gibt es eine mehr Möglichkeiten, es zu tun.

ZB wenn wir den Quellcode der Funktion imread sehen möchten:

a) edit bearbeiten oder erstellen Datei

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

b) open zu öffnen Datei in entsprechender Anwendung

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

c) type, um den Inhalt der Datei anzuzeigen:

Hinweis dass funcName stringLiteral ist die Befehlssyntax, das seine gleich FunktionssyntaxfuncName('stringLiteral'). Siehe Command vs. Function Syntax

Verwandte Themen