標籤:

完全沒辦法看內置函數的源代碼了嗎?

內置函數是看不了源代碼的(別忘了MATLAB是閉源軟體, 儘管大部分函數可以看到源代碼).

原因大概有兩個:

1 內置函數一般都是用其他語言寫的, 通常是編譯型語言寫的.

比如C, C++, Fortran.

2 內置函數是通常是MATLAB的核心競爭力.

都公開了, 誰會花大價錢買這個軟體?

完全沒辦法看內置函數的源代碼了嗎?

不!

使用coder可以看到一部分內置函數, 只要它是支持coder的.

coder是將MATLAB代碼自動轉化為C/C++或mex的工具.通常用來加速代碼或者將演算法移植到無MATLAB軟體的平台上.當然了, 還有一個小眾化應用: 查看內置函數的偽源代碼.

比如movmin函數.

文檔的最後:

說明這個內置函數是被coder支持的.

你用coder轉化為C或C++, 就可以看到偽源代碼了.

之所以說是偽源代碼, 是因為:

1 它的效率比內置函數要慢, 但大概看看演算法是足夠的.

2 一部分功能並不支持, 比如SamplePoints.


推薦閱讀:

您好,matlab我想把畫出的圖保存下來,怎麼做?
如何自學Matlab
matlab怎麼把圓周率按照這種方式環形排列?
有沒有MATLAB版的三元運算符?
APPs(002)測量個「皮鞭」(a)

TAG:MATLAB |