遞歸函數(shù):
一個(gè)函數(shù)可以調(diào)用其他函數(shù)如果一個(gè)函數(shù)在內(nèi)部不調(diào)用其他的函數(shù),而是自己本身的話交洗,這個(gè)函數(shù)就是遞歸函數(shù)
編程語言中,函數(shù)Func(Type a,……)直接或間接調(diào)用函數(shù)本身须床,則該函數(shù)稱為遞歸函數(shù)奖磁。遞歸函數(shù)不能定義為內(nèi)聯(lián)函數(shù)。
在數(shù)學(xué)上阳液,關(guān)于遞歸函數(shù)的定義如下:對于某一函數(shù)f(x)怕敬,其定義域是集合A,那么若對于A集合中的某一個(gè)值X0帘皿,其函數(shù)值f(x0)由f(f(x0))決定东跪,那么就稱f(x)為遞歸函數(shù)。
中文名
遞歸函數(shù)
外文名
recursive function
類別
從自然數(shù)到自然數(shù)的函數(shù)
定義
直接或間接調(diào)用函數(shù)本身
古典遞歸函數(shù),是一種定義在自然數(shù)集合上的函數(shù)虽填,它的未知值往往要通過有限次運(yùn)算回歸到已知值來求出丁恭,故稱為“遞歸”。它是古典遞歸函數(shù)論的研究對象卤唉。
一個(gè)直接的例子
//代碼1
void func()
{
//...
if(...)
func();
lse
//...
}
條件:
一個(gè)含直接或間接調(diào)用本函數(shù)語句的函數(shù)被稱之為遞歸函數(shù)涩惑,在上面的例子中能夠看出仁期,它必須滿足以下兩個(gè)條件:
1) 在每一次調(diào)用自己時(shí)桑驱,必須是(在某種意義上)更接近于解;
2) 必須有一個(gè)終止處理或計(jì)算的準(zhǔn)則跛蛋。
匿名函數(shù):
用lambda關(guān)鍵詞能創(chuàng)建小型匿名函數(shù)熬的。這種函數(shù)得名于省略了用def聲明函數(shù)的標(biāo)準(zhǔn)步驟。
注意lambda表達(dá)式只可以包含一個(gè)表達(dá)式赊级,不允許包含其他復(fù)雜的語句押框,但是在表示中可以調(diào)用其他函數(shù)并支持默認(rèn)參數(shù)和關(guān)鍵參數(shù),該表示的計(jì)算結(jié)果相當(dāng)于函數(shù)返回值理逊。
匿名函數(shù)它是matlab中定義的一種函數(shù)形式橡伞,出現(xiàn)在matlab中,匿名函數(shù)不以文件形式駐留在文件夾上晋被;他的生成方式最簡捷兑徘,可在指令窗或任何函數(shù)體內(nèi)通過指令直接生成。
匿名函數(shù)的作用主要是實(shí)現(xiàn)自己定義matlab中的函數(shù)羡洛,從而擴(kuò)大函數(shù)的使用功能
中文名
匿名函數(shù)
出現(xiàn)
matlab
定義
matlab中定義的一種函數(shù)形式
作為內(nèi)置函數(shù)的參數(shù)
sumAxBy = @(x, y) (14x + 41y)
sumAxBy =
(x, y) (14x + 41y)
sumAxBy(3,7)
ans =
329