递归函数:
一个函数可以调用其他函数如果一个函数在内部不调用其他的函数,而是自己本身的话,这个函数就是递归函数
编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数。
在数学上,关于递归函数的定义如下:对于某一函数f(x),其定义域是集合A,那么若对于A集合中的某一个值X0,其函数值f(x0)由f(f(x0))决定,那么就称f(x)为递归函数。
中文名
递归函数
外文名
recursive function
类别
从自然数到自然数的函数
定义
直接或间接调用函数本身
古典递归函数,是一种定义在自然数集合上的函数,它的未知值往往要通过有限次运算回归到已知值来求出,故称为“递归”。它是古典递归函数论的研究对象。
一个直接的例子
//代码1
void func()
{
//...
if(...)
func();
lse
//...
}
条件:
一个含直接或间接调用本函数语句的函数被称之为递归函数,在上面的例子中能够看出,它必须满足以下两个条件:
1) 在每一次调用自己时,必须是(在某种意义上)更接近于解;
2) 必须有一个终止处理或计算的准则。
匿名函数:
用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。
注意lambda表达式只可以包含一个表达式,不允许包含其他复杂的语句,但是在表示中可以调用其他函数并支持默认参数和关键参数,该表示的计算结果相当于函数返回值。
匿名函数它是matlab中定义的一种函数形式,出现在matlab中,匿名函数不以文件形式驻留在文件夹上;他的生成方式最简捷,可在指令窗或任何函数体内通过指令直接生成。
匿名函数的作用主要是实现自己定义matlab中的函数,从而扩大函数的使用功能
中文名
匿名函数
出现
matlab
定义
matlab中定义的一种函数形式
作为内置函数的参数
sumAxBy = @(x, y) (14x + 41y)
sumAxBy =
(x, y) (14x + 41y)
sumAxBy(3,7)
ans =
329