貌似有人弄混了MATLAB关键字(keyword)与内置函数(built-in function)的关系。今天,我就来仔细讲一下,MATLAB的built-in function。
1.什么是内置函数?
内置函数是一类比较特殊的MATLAB底层函数,它们的特点是:一般不是用MATLAB语言写成的、无法看到其源代码(只能看到注释)、执行效率相对较高。 而一般的MATLAB自带的函数都是可以看到源代码甚至可以编辑源代码的。
2.内置函数与关键字的区别
关键字是一类更加特殊的底层函数,包括break case catch classdef continue else elseif end for function global if otherwise parfor persistent return spmd switch try while这20个。
关键字不能作为变量名,例如,不能新建一个名叫for的变量。内置函数可以被覆盖(override),用做变量名。例如,你可以新建一个名叫abs的变量,只不过,MATLAB的绝对值函数abs就无法正常调用了。(实在想要调用的话,可以借助builtin函数)
一般而言,不建议override内置函数。也就是说,变量名尽量避开内置函数名称。
3.如何找到所有的内置函数?
内置函数的特点在于,运算效率较高,是学习的重点。那么,内置函数总共有多少个呢?如何找到这些函数?
本文的思路是:遍历MATLAB所有path路径下的所有文件,获取其文件名,然后用exist函数判断该函数是否为builtin函数。将确定为builtin函数的函数名称写入一个table中,最后去重排序。
(另一种思路是利用matla