查看MATLAB自带函数的源代码

11月27日 
如何查看MATLAB自带函数的源代码 
     有时候可能需要把MATLAB程序移植成C程序或者C++程序,这对与通信行业的人来说是很常见的事情,事先利用MATLAB天生具备的优越可视化环境仿真,利用MATLAB丰富的自带行数完成复杂算法的仿真,以比较不同算法之间的效率,对高效算法进行移植。 
     这时候往往会用到一些较为专业的函数,例如rgb2gray、fft等等,在MATLAB中我们仅是调用这些函数,不用关心MATLAB是怎么实现这些函数的,但是要想移植成C/C++程序,必须自己编写这些专业函数,如果我们可以查看这些函数在MATLAB中是如何实现的,那么对于移植效率会有很大提升。有若干种可以查看MATLAB函数源代码的方法: 
1、在命令窗口中输入:type 函数名(例如type rgb2gray等),就会在命令窗口出现该函数的相关说明及源代码; 
2、在命令窗口中输入:open 函数名(例如open rgb2gray等),就会打开该函数的m文件; 
3、在命令窗口中输入:edit函数名(例如edit rgb2gray等),同样会打开该函数的m文件; 

4、还有一种方法就是故意将原函数的参数类型或者个数写错,就会出现出错提示,点击提示出错处,也可以打开该函数的m文件;

       很多大型的函数都能获得源代码,但是MATLAB里面有一些built-in函数是看不到源代码的,sort就是其中之一。这些函数是预编译好的,运行效率非常好,比如像find、min、max等频繁用到的一些函数还有很多矩阵运算函数都是built-in函数。

来源:http://wenku.baidu.com/link?url=hkYgS4_uafHMgtelHs_FxzqraX0-HUzagHksj6kSgeCxkrHSzn2Lwwphpv2YsUB3rGuyLtMTBcPf5hEiAgo9W5h2gMhc4tjPuJt_1ii8iKK


有几种方法可以实现查看matlab里自带函数的源代码:

在命令窗口中输入:

(1)、type 函数名(如 type rgb2gray 或者 type rgb2gray.m):即可在命令窗口中显示此函数的源代码;

(2)、open 函数名(如 open rgb2gray 或者 open rgb2gray.m):即可打开rgb2gray.m文件; 

(3)、edit 函数名(如 edit rgb2gray 或者 edit rgb2gray.m):即可打开rgb2gray.m文件; 

(4)、还有一种方法就是故意将原有函数的参数或类型写错,它就会提示错误,然后点击提示错误处,也可打开m文件,如:
   rgb2gray(f,  3);%f为彩色图像文件名,后面的3是随意加上去的,因为函数rgb2gray原本就一个参数,现在为2个,肯定会报错
                           

   rgb2gray(f, 3);

   ??? Error using ==> iptchecknargin at 77
   Function RGB2GRAY expected at most 1 input argument
   but was called instead with 2 input arguments.
 

  Error in ==> rgb2gray>parse_inputs at 76  %点击此处即可打开m文件
  iptchecknargin(1,1,nargin,mfilename);
 

  Error in ==> rgb2gray at 35   %点击此出也可打开m文件
  X = parse_inputs(varargin{:});
 

不过,一些比较底层的源代码是看不见得。


来源: http://yunniyu.blog.163.com/blog/static/2220843120122784044704/


  • 12
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值