2012-08-31 55 views
6

我想知道如果我們 - Matlab的用戶可以在Matlab中獲得一些函數的代碼(如fft - 快速傅里葉變換,dwt - 離散小波變換等)。以防萬一我們想編輯一些東西來適應我們需要的。 在Matlab中可能嗎? 如果是這樣,我們如何獲得代碼? 謝謝。獲取Matlab中函數的代碼?

+5

對於大多數Matlab函數,您可以在Matlab提示符處輸入「edit 」來查看源代碼。 – 2012-08-31 09:17:25

+3

然而,大部分基本功能都在內部實現,您將無法看到源代碼。 – Royi

+3

你可以在[numpy](http://numpy.scipy.org/)中找到它,並且這個附加功能不是Matlab! :) –

回答

2

如前所述,很多MATLAB函數都是用MATLAB寫的,所以你可以看到源代碼。出於性能方面的原因,有些東西是用本機代碼實現的,或者使用外部庫。在FFT的情況下,MATLAB使用FFTW庫,該源可以免費使用。另請參閱http://www.mathworks.co.uk/help/techdoc/ref/fftw.html

1

在左邊的當前目錄菜單中有一個選項,選項名稱是「查找文件」,它表示爲雙筒望遠鏡的圖標,只需點擊它,將目錄設置爲「輸入Matlab路徑」並輸入要搜索的函數名稱,例如,如果我想搜索函數imnoise,我會在獲得搜索結果後輸入「imnoise.m」 ,只需雙擊函數文件,然後在那裏輸入要搜索的函數名稱你可以編輯任何你想要的東西

0

總結了一下,有多種方法可以做到這一點。

例如,如果我們想看到的功能imread的源代碼:

一)edit編輯或創建文件

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

B)open在適當的應用程序打開文件

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

c)type顯示文件內容:

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

注意funcName stringLiteral命令語法,其等於其函數的語法funcName('stringLiteral')。請參閱 Command vs. Function Syntax