
我们知道,在编程领域,我们将遇到对函数的递归调用. 同时,有时我们有时可以将递归调用转换为非递归调用. 转换为非递归调用的目的可以减少堆栈. 分配内存以减少内存溢出的问题,那么在数学的一般领域中,我们也有一些递归调用,例如模拟电路中的反馈电路和混沌理论,再次使用一定的计算结果作为计算输入. 因此,对函数递归的研究具有现实意义.
一些常见的周期函数
在研究函数递归之前,让我们首先研究一些常见的周期函数,例如y = sin(PI / 2 + 2 * x * PI),y =(-1)^ x,y = 1 ^ xy = x ^ 0,y = 0 * x. 我们只研究x是整数的情况.
对于y = 0 * x,我们可以知道对于任何整数x∈Z y = 0,该函数的周期为1,因为我们可以得出对于任何整数x∈Z y等于常数的:
(1)y = A + 0 * x;
对于两个函数y = 1 ^ x和y = x ^ 0,我们知道对于任何整数x∈Z,我们总是得到y = 1,并且函数的周期为1,因此我们可以得出对于任何整数x∈Z,y等于常数A的函数:
(2)y = A * 1 ^ x
(3)y = A * x ^ 0
(4)y = A-1 + 1 ^ x
(5)y = A-1 + x ^ 0
对于y =(-1)^ x和y = sin(PI / 2-2 * x * PI),对于任何x∈Z,当x为奇数时,y = -1,当x为偶数时,y = 1,函数的周期为2递归 2次调用,因此我们可以得出对于任何整数x∈Z,当x为奇数时,y的值等于常数A,当x为偶数时,的值y是B函数.
为此,我们可以定义一个线性函数y = ax + b. 并假设当x = -1时y = A,当x = 1时y = B. 则此线性函数的解析公式为:
y =(B-A)/ 2 * x +(B + A)/ 2其中a =(B-A)/ 2,b =(B + A)/ 2

因为我们规定x只能为-1,而1则我们将y =(-1)^ x和y = sin(PI / 2-2 * x * PI)替换为:
(6)y =(B-A)/ 2 *(-1)^ x +(B + A)/ 2
(7)y =(B-A)/ 2 * sin(PI / 2-2 * x * PI)+(B + A)/ 2
并继续找到y = f(x)当x是某个部分时,y等于一个固定值,即,找到一个周期为n的函数,这部分也是最困难的,因为递归地解决函数n次循环很有帮助.
也就是说,在某种程度上,它可以找到一个周期为n的函数,这是一个通用表达式函数,它对n个递归循环的函数执行非递归表达式.
函数递归
假定存在一个函数y =⨍(x),则y的范围是x的域的子集. 假设当x = x0时,存在y0 =⨍(x0),当我们将y0作为自变量并将其代入⨍(x)以获得y1 =⨍(y0)时,则y1也可以表示为: p >
y1 =⨍(⨍(x0))
我们将2个函数调用后x0获得的值称为y1. 同时,我们将g(x)=⨍(⨍(x))称为函数⨍(x)的二次递归函数. 我们可以定义如下:
定义⨍n(x)为n次递归后⨍(x)所获得的函数,称为n次递归函数,其中n> = 1,我们规定1(x)=⨍(x )<
然后,我们接下来将面临几个问题. 是否有函数具有n次递归函数?如果存在n次递归函数,是否可以使用非递归函数来描述此递归函数?在m个递归之后,函数的值是否等于原始参数?函数的逆函数与递归函数之间是什么关系?
以上问题希望志同道合的学生一起讨论和学习.
让函数y =⨍(x)是递归函数⨍n(x)的n倍,如果存在函数g(n,x),则⨍n(x)= g(n,x)那么我们将g(n,x)称为⨍n(x)的非递归表达式. 可以看出,递归函数的非递归表达式主要可以将递归数作为某个函数g的系数,从而简化了递归函数的计算方法.

对于某些基本函数,我们可以轻松地获得函数的n次递归函数的非递归表达式,例如:
y = a * x + b的n次递归函数为y = a ^ n * x + b * ∑ a ^ i(其中i = 0至n-1)
y = x ^ a的n次递归函数是y = x ^(a ^ n)
y = 1 / x的n次递归函数为y =((x ^ 2-1)*(-1)^ n + x ^ 2 +1)/ 2 * x(此公式不是简单,推导过程将在后面给出,请参考公式(8))
y =(x +1)/(x-1)n次递归函数为y =((-1)^(n + 1)+ 2x +1)/((2-x)*( -1)^ n + x)(此公式表示(8))
还有一些功能,例如
y = sin(x),那么我们就无法使用可定义的非递归函数来表示其n次递归函数(真的不是吗?还需要研究),暂时只能由枚举方法:
y =罪(sin(sin(.......(x)....)))
复合函数的递归函数
上面描述了普通函数的递归函数,那么如何找到某些复合函数的递归函数呢?
让y =⨍(u),u = g(x),则x是自变量y是因变量. 复合函数表示为y =⨍(g(x)),那么如何找到复合函数y递归函数呢?
由于y =⨍(g(x)),因此将y更改为自变量后第二次递归的表达式为:
y2 =⨍(g(y)),y =⨍(g(x)),因此代入y2 =⨍(g(⨍(g(x)))). 打个比方

yn =⨍(g(⨍(g(⨍(g(⨍(g(...(([x(x)...)))))))))
n
函数的递归周期
假设函数⨍(x)是n次递归函数⨍n(x),则当n = M1,M2,Mk时,存在⨍Mi(x)= x,其中(i = 1至k)最小Mi是该函数的递归周期,称为M.
下一个问题是如何确定某个n次递归函数是否具有递归周期递归 2次调用,以及如何计算递归周期. 这也是研究的主题.
2次递归周期函数
如果一个函数的递归周期为2,则该函数称为2级递归周期函数. 当n为奇数时,第二个递归周期函数实际上为y = f(x),当n为n时,y = x甚至递归周期如下:
f1(x)= f(x),f2(x)= x,f3(x)= f(x),f4(x)= x,f5(x)= f(x),... ..
如何导出2级递归周期函数的表达式.
然后我们从上述函数中两次分析了递归周期函数,发现当n为奇数时,fn(x)= f(x),而当n为偶数时,fn(x)= x,因此我们可以使用以前从公式(6)导出的二阶递归周期函数的非递归函数为:
(8)fn(x)=(x-f(x))/ 2 *(-1)^ n +(x + f(x))/ 2
完整的递归函数
我们知道,如果函数y = f(x),则该函数的反函数表示为x = f-1(y). 如果我们再次递归这个反函数

. .
因为我们定义如下:
如果函数y = f(x)具有n次递归函数fn(x),并且当n = 0时具有f0(x)= x,而n次反向递归函数为gn(x)函数
fn(x)n> = 1
kn(x)= {x n = 0
gn(x)n <0
是f(x)的完全递归函数.
如果函数的n次递归函数fn(x)在n = 0时具有f0(x)= x;并且当n <0时fn(x)= gn(x)时,我们称fn(x)是完全递归函数的唯一函数,而这个完全递归函数被称为唯一的完全递归函数.
请注意,并非所有函数的所有n次递归函数都是完全递归函数.
y = a * x的n次递归函数为y = a ^ n * x,而完整的递归函数为y = a ^ n * x
y =(x +1)/(x-1)n次递归函数为y =((-1)^(n + 1)+ 2x +1)/((2-x)*( -1)^ n + x)完整的递归函数为y =((-1)^(n + 1)+ 2x +1)/((2-x)*(-1)^ n + x)
y = 1 / xn递归函数为y =((x ^ 2-1)*(-1)^ n + x ^ 2 +1)/ 2 * x完整的递归函数为y =((x ^ 2-1)*(-1)^ n + x ^ 2 +1)/ 2 * x
y = x ^ a n次递归函数为y = x ^(a ^ n)完整的递归函数为y = x ^(a ^ n)
y = a * x + b n乘以递归函数为y = a ^ n * x + b * ∑a ^(i-1)(i = 1至n),则完整的递归函数为:
a ^ n * x + b * ∑a ^(i-1)(i = 1至n)n> = 1
y = {x n = 0
a ^ n * x-b * ∑a ^ i(i = -1至-n)n <0
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-168797-1.html
康师傅有小日本股份
可恶