获取Matlab中函数的代码?

9

我想知道作为Matlab用户,我们是否可以获取一些Matlab函数的代码(例如fft-快速傅里叶变换,dwt-离散小波变换等),以便我们需要时进行编辑以适应我们的需求。 在Matlab中是否可能实现这一点? 如果是,我们该如何获取代码? 谢谢。


7
大多数 Matlab 函数,您可以在 Matlab 提示符下键入 "edit <函数名称>" 来查看源代码。 - Atul Ingle
3
大部分基本功能都是内部实现的,你无法看到源代码。 - Royi
3
你可以在 numpy 中实现,这还有个额外的好处,就是它不是 Matlab! :) - Henry Gomersall
3
顺便提一下,[i]fft 是使用 fftw 库实现的。 - Deve
4
你还可以从Octave源代码中获取许多函数的MATLAB兼容源代码。 - Paul R
4个回答

6

2

Matlab中有一个选项可以在左侧的当前目录菜单下找到,这个选项名为“查找文件”,用放大镜图标表示,只需单击它,将目录设置为“输入Matlab路径”,然后输入要搜索的函数名称,

例如,如果我想搜索函数imnoise,我会键入“imnoise.m” 在获取搜索结果后,只需双击函数文件,然后您就可以编辑任何想要的内容了


2
正如已经提到的,许多MATLAB函数是用MATLAB编写的,因此您可以看到源代码。由于性能原因,有些东西是用本地代码实现的,或者使用外部库。在FFT的情况下,MATLAB使用FFTW库,其源代码可免费获得。参见http://www.mathworks.co.uk/help/techdoc/ref/fftw.html

1

简单概括一下,有几种方法可以做到这一点。

例如,如果我们想要查看函数imread的源代码:

a) 使用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')。请参见命令语法与函数语法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接