函数的函数(function functions) 函数的函数(function functions)是指函数的输入参数中含有其他的函数,传递给函数的函数的变量名一般情况应用于这个函数执行的过程中。 例如,MATLAB中有一个函数的函数叫做fzero。这个函数用于找到传递给它的函数值为0时的自变量。例如,语句fzero('cos',(0, pi)),它能确定cos函数在区间[0, π]中何时为0。语句fzero('exp(x)-2', [0 1])在区间[0, 1]中何时为0。当这些语句被执行时,将产生如下的结果:
>> fzero('cos',[0 pi]) ans = 1.5708 >> fzero('exp(x)-2',[0 1]) ans = 0.6931
函数的函数操作的关键字有两个专门的maltab函数,eval和feval。函数eval对一个字符串进行求值,就如它在命令窗口中已经键入了一样。函数feval用一个特定的输入值对命名的函数进行求值。函数eval的形式如下:
eval(string)
例如,语句x = eval('sin(pi/4)')产生的结果如下:
>> x = eval('sin(pi/4)') x = 0.7071
下面是一个例子,构建一个字符串,并用eval函数对其进行求值
x = 1; str = ['exp(' num2str(x) ')-1']; res = eval(str);
在这种情况下,变量str的内容为exp(1)-1,所以eval产生的结果为1.7183。 函数feval对在M文件进行定义的命名函数进行求值,要求有指定的输入值。函数feaval的基本形式如下 feval(fun, value). 例如,语句x=feval('sin',pi/4)产生的结果如下
>> x = feval('sin',pi/4) x = 0.7071
表5.1常见的函数的函数 | fminbnd | 求函数的最小值,这函数只有一个自变量 | fzero | 找出函数为0时的自变量的值 | quad | 在数学上组合一个函数 | ezplot | 简单易用的函数画图 | fplot | 通过函数名画出这个函数的图象 |
更多的函数的函数将会在表5.1中列出。在命令窗中键入help函数名,了解他们的用途。
|