递推公式

递推公式

1、一阶线性递推式 f n = a f n − 1 + b f_{n}=a f_{n-1}+b fn=afn1+b ,且已知 f 1 f_1 f1的值

(1)当 a = 0 时, f n = b f_n=b fn=b

(2)当 a = 1 时, f n = f n − 1 + b = ( n − 1 ) b + f 1 f_{n}=f_{n-1}+b =(n-1)b + f_1 fn=fn1+b=(n1)b+f1, 为等差数列

(3)当 a ≠ 0 , a ≠ 1 a\neq 0,a\neq 1 a=0,a=1 时,令特征方程 f ( x ) = a x + b f(x)=ax+b f(x)=ax+b 等于 x x x,即求解 a x + b = x ax+b=x ax+b=x

解得 x = x 0 x=x_0 x=x0 f n − x 0 = a ( f n − 1 − x 0 ) f_n-x_0=a(f_{n-1}-x_0) fnx0=a(fn1x0) ,得到 f n = a n − 1 ( f 1 − x 0 ) + x 0 f_n= a^{n-1}(f_1-x_0)+x_0 fn=an1(f1x0)+x0

2、二阶线性递推 f n = p f n − 1 + q f n − 2 f_{n}=pf_{n-1}+qf_{n-2} fn=pfn1+qfn2,已知 f 1 f_1 f1 f 2 f_2 f2 的值

特征方程为: x 2 − p x − q = 0 x^2-px-q=0 x2pxq=0,设两个特征根为 x 1 x_1 x1 x 2 x_2 x2

因此, f n = c 1 x 1 n + c 2 x 2 n f_n=c_1 x_1^n+c_2x_2^n fn=c1x1n+c2x2n,将 f 1 f_1 f1 f 2 f_2 f2 代入方程求解出 c 1 c_1 c1 c 2 c_2 c2 的值

f 0 = c 1 + c 2 f_0=c_1 + c_2 f0=c1+c2

f 1 = c 1 x 1 + c 2 x 2 f_1=c_1 x_1 + c_2 x_2 f1=c1x1+c2x2

x 1 ≠ x 2 x_1\neq x_2 x1=x2时, f n = c 1 x 1 n + c 2 x 2 n f_n=c_1 x_1^{n}+c_2x_2^{n} fn=c1x1n+c2x2n

x 1 = x 2 x_1=x_2 x1=x2时, f n = ( c 1 + c 2 n ) x 1 n f_n=(c_1+c_2n)x_1^{n} fn=(c1+c2n)x1n

推导链接

二阶线性递推数列的通项公式的求法

3、分式递推式 f n = a f n − 1 + b c f n − 1 + d f_{n}=\frac {af_{n-1}+b}{cf_{n-1}+d} fn=cfn1+dafn1+b c ≠ 0 , a d ≠ b c , a 1 ≠ − d c c\neq 0,ad\neq bc,a_1\neq -\frac dc c=0,ad=bc,a1=cd,已知 a 1 a_1 a1的值

特征方程: x = a x + b c x + d x=\frac {ax+b}{cx+d} x=cx+dax+b,设 x 1 , x 2 x_1,x_2 x1,x2是两个特征根,

(1)当 x 1 ≠ x 2 x_1\neq x_2 x1=x2时, f n − x 1 f n − x 2 = a − x 1 c a − x 2 c × f n − 1 − x 1 f n − 1 − x 2 \frac {f_n-x_1}{f_n-x_2}=\frac {a-x_1c}{a-x_2c}\times \frac{f_{n-1}-x_1}{f_{n-1}-x_2} fnx2fnx1=ax2cax1c×fn1x2fn1x1

b n = f n − x 1 f n − x 2 , q = a − x 1 c a − x 2 c , b n − 1 = f n − 1 − x 1 f n − 1 − x 2 b_n= \frac {f_n-x_1}{f_n-x_2} ,q=\frac {a-x_1c}{a-x_2c},b_{n-1}= \frac{f_{n-1}-x_1}{f_{n-1}-x_2} bn=fnx2fnx1,q=ax2cax1c,bn1=fn1x2fn1x1,即 b n = q × b n − 1 = q n − 1 b 1 b_n=q\times b_{n-1} =q^{n-1}b_1 bn=q×bn1=qn1b1

b n = f n − x 1 f n − x 2 b_n= \frac {f_n-x_1}{f_n-x_2} bn=fnx2fnx1 可得 f n = x 2 + x 1 − x 2 1 − b n f_n=x_2+\frac {x_1-x_2}{1-b_n} fn=x2+1bnx1x2,替换 b n b_n bn,可得通项公式

f n = x 2 + x 1 − x 2 1 − ( a − x 1 c a − x 2 c ) n − 1 × ( f 1 − x 1 f 1 − x 2 ) f_n=x_2+\frac {x_1-x_2}{1- (\frac {a-x_1c}{a-x_2c})^{n-1}\times (\frac{f_1-x_1}{f_1-x_2})} fn=x2+1(ax2cax1c)n1×(f1x2f1x1)x1x2

(2)当 x 1 = x 2 x_1= x_2 x1=x2时, 1 f n − x 1 = 1 f n − 1 − x 1 + 2 c a + d \frac 1{f_n-x_1}=\frac 1{f_{n-1}-x_1}+\frac {2c}{a+d} fnx11=fn1x11+a+d2c

f n = 1 ( n − 1 ) × 2 c a + d + 1 f 1 − x 1 + x 1 f_n=\frac {1}{(n-1)\times \frac{2c}{a+d}+\frac 1{f_1-x_1}}+x_1 fn=(n1)×a+d2c+f1x111+x1

不动点求通项

Simulink是一个由MathWorks公司开发的仿真和模型构建环境,主要用于系统建模、仿真和分析。如果你想要在Simulink中使用递推公式(通常用于动态系统建模),你可以通过以下步骤: 1. **创建信号流图**:首先,新建一个Simulink块 diagram(模块结构)。在这个环境中,你会看到很多预定义的库,如基本算术运算、存储单元(如 Integrator 或 Discrete Derivative)等。 2. **使用连续时间/离散时间线性环节**:例如,如果你想模拟一个简单的一阶递归滤波器,可以选择`Discrete Integrator`或`Continuous Integrator`。它们可以代表系统的积分部分,表示当前状态值与前一时刻的状态值之差。 3. **设置数学函数**:在需要应用递推公式的信号线上,你可以添加`Math Function`块,并输入递推公式。例如,对于一个一阶递推公式 `y[n] = ay[n-1] + bu[n]`,你可以在该函数里输入 `y = a*y_prev + u`,其中 `y` 是当前输出,`y_prev` 是上一步的输出(可以从`Memory`或`Constant`块获取),`a` 是递推系数,`u` 是输入信号。 4. **初始化状态**:在开始仿真之前,你需要给初始状态(通常是`y[0]`或第一个步长内的状态)提供一个初始值,可以使用`Initial Condition`或`Zero-Order Hold`块来完成。 5. **配置数据接口**:连接输入、输出和状态变量,然后配置信号的数据类型、采样频率以及其他属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值