完全沒辦法看內置函數的源代碼了嗎?
04-04
內置函數是看不了源代碼的(別忘了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 |