几何与代数:数列递推的可视化分析

几何与代数:数列递推的可视化分析

什么是二次递推数列?有什么特点?

a n + 1 = f ( a n ) f ( x ) = α x 2 + β x + γ α ≠ 0 \qquad a_{n+1} = f(a_n) \\ f(x) = \alpha x^2 + \beta x + \gamma \\ \alpha \neq 0 an+1=f(an)f(x)=αx2+βx+γα=0

  • 可以绝对分离后一项与前一项
  • 后一项仅和前一项有关,且呈函数关系
  • 函数关系为二次函数

二次递推的问题来源(包括但不限于如下)

  • 受资源限制的种群发展(离散采样

    • d [ p ( t ) ] d t = k ( M − p ( t ) ) p ( t ) \frac{d[p(t)]}{dt}=k(M-p(t))p(t) dtd[p(t)]=k(Mp(t))p(t)
    • p ( t + 1 ) = p ( t ) + k ( M − p ( t ) ) p ( t ) p(t+1)=p(t)+k(M-p(t))p(t) p(t+1)=p(t)+k(Mp(t))p(t)
    • p ( n + 1 ) = − k ( p ( n ) ) 2 + ( k M + 1 ) p ( n ) p(n+1)=-k(p(n))^2+(k M+1)p(n) p(n+1)=k(p(n))2+(kM+1)p(n)
  • 对数线性递推

    • l n a n + 1 = 2 l n a n + c ln a_{n+1}=2 ln a_n + c lnan+1=2lnan+c
    • a n + 1 = e c ⋅ a n 2 a_{n+1}=e^c \cdot a_n^2 an+1=ecan2
  • 双递推数列
    在这里插入图片描述

一般形式二次递推数列的代数观察尝试

a n + 1 = − 1 3 a n 2 + 1 a 1 = α 决 定 了 整 个 数 列 a_{n+1}=-\frac{1}{3}a_n^2+1 \qquad a_1=\alpha决定了整个数列 an+1=31an2+1a1=α

MATLAB数值计算:

clear;clc;
a_0 = input("请输入初值:");
n = input("请输入你要计算到的位置:");
Zhi = DiTuiShuLie_Calculation(a_0, n);
Zhi = roundn(Zhi, -3);  %保留小数位数后三位
display(Zhi)
function [result] = DiTuiShuLie_Calculation(a, n)
    P = [];
    a_0 = a;
    for i = 1 : n
        
%         y=[y;x(i)];%把每一个x都放到y里,成为一行
%         y=[y,x(i)];%把每一个x都放到y里,成为一列
        
        P = [P ; a_0];
        a_1 = -(a_0 .^ 2 ./ 3) + 1;
        a_0 = a_1;
    end
    result = P';
end
请输入初值:[1/6, 1/3, 1/2, 2/3, 5/6, -4]
请输入你要计算到的位置:10

得到下表:

初值列1列2列3列4列5列6列7列8列9列10
1/60.1670.9910.6730.8490.760.8080.7830.7960.7890.793
1/30.3330.9630.6910.8410.7640.8050.7840.7950.7890.792
1/20.50.9170.720.8270.7720.8010.7860.7940.790.792
2/30.6670.8520.7580.8080.7820.7960.7890.7930.7910.792
5/60.8330.7690.8030.7850.7950.790.7920.7910.7920.791
-4-4-4.333-5.259-8.22-21.522-153.405-7843.39-2.1E+07-1.4E+14-6.5491E+27

观察到,前五行数列会趋于一个值;而最后一行数列发散

问题:初值在什么范围内数列收敛?发散?

利用坐标平面内的图上演化分析

在同一坐标系下画出 f ( x ) = − 1 3 x 2 + 1 f(x)=-\frac{1}{3} x^2 + 1 f(x)=31x2+1 y = x y=x y=x的图像,如图:在这里插入图片描述

进行如下的取值过程:

2.jpg

对首项的取值范围进行讨论

第一种情况:
在这里插入图片描述
第二种情况:
在这里插入图片描述
第三种情况:
在这里插入图片描述

综上可知:

  • a 1 ∈ ( x 1 , − x 1 ) a_1\in(x_1,-x_1) a1(x1,x1)时, lim ⁡ x → + ∞ a n = x 2 \lim\limits_{x\rightarrow+\infty}a_n=x_2 x+liman=x2
  • a 1 > − x 1 a_1>-x_1 a1>x1 a 1 < x 1 a_1<x_1 a1<x1时, { a n } \{a_n\} {an}发散;
  • a 1 = x 1 a_1=x_1 a1=x1 a 1 = − x 1 a_1=-x_1 a1=x1时, lim ⁡ x → + ∞ a n = x 1 \lim\limits_{x\rightarrow+\infty}a_n=x_1 x+liman=x1

稳定平衡点与不稳定平衡点

在这里插入图片描述
不稳定平衡点处随着演化不断远去,稳定点平衡点处随着演化不断靠近

震荡循环:极限环

在这里插入图片描述

不断演化会趋向于一个循环

几何上的复杂运动产生伪随机数

在这里插入图片描述
,它的演化时杂乱无章的。

对于给定的 x 1 x_1 x1的取值,作如下的变换:
δ : { x n } → { 0 , 1 } x k → { 0 , x k ∈ [ 0 , + ∞ ) 1 , x k ∈ ( − ∞ , 0 ) \delta:\{x_n\}\rightarrow\{0,1\}\\x_k\rightarrow\begin{cases}0,&x_k\in[0,+\infin)\\1,&x_k\in(-\infin,0)\end{cases} δ:{xn}{0,1}xk{0,1,xk[0,+)xk(,0)
MATLAB数值计算:

clear;clc;
ChuZhi = input("请输入数列初值:");
n = input("请输入你要计算到多少项:");
P = [];
x_0 = ChuZhi;
for i = 1 : n 
    x_00 = (x_0 < 0);
    P = [P ; x_00];
    x_1 = x_0 .^ 2 - 2;
    x_0 = x_1;
end
P = P';
display(P)

得到下表:

初值转换
0.101000110000110101100
0.201001100001111010101
0.301001010011001101000
0.401011000010111000100
0.501011110110111001001
0.601010100101111100001
0.701010011101100101010
0.801110001010011001100
0.901110101000011011001

再作如下变换,将0,1序列转换为(0,1)区间的小数:
Γ ( { δ n } ) = ∑ k = 1 + ∞ δ k 2 k = lim ⁡ n → + ∞ ∑ k = 1 n δ k 2 k \Gamma(\{\delta_n\})=\sum^{+\infty}_{k = 1}{\frac{\delta_k}{2^k}}=\lim\limits_{n \to +\infin}\sum^{n}_{k = 1}{\frac{\delta_k}{2^k}} Γ({δn})=k=1+2kδk=n+limk=1n2kδk
例如: 1 , 0 , 1 , 1 ⇒ 1 2 1 + 0 2 2 + 1 2 3 + 1 2 4 1,0,1,1\Rightarrow\frac{1}{2^1}+\frac{0}{2^2}+\frac{1}{2^3}+\frac{1}{2^4} 1,0,1,1211+220+231+241

MATLAB数值计算:

result = [];
for k = 1 : length(ChuZhi)
    sum = 0;
    Q = P(k, :);
    for a = 1 : n
        sum = sum + Q(1, a) ./ 2 .^ a;
    end
    result = [result; sum];
end
display(result)

得到下表:

0.10.274
0.20.298
0.30.291
0.40.345
0.50.371
0.60.331
0.70.327
0.80.443
0.90.457

伪随机数可能会对应分形结构

MATLAB绘图:

x = ChuZhi;
y = result;
plot(x, y)

得到下图:
在这里插入图片描述

要点

  1. 当遇到代数问题是某些规则的迭代,往往会遇到迭代之后计算复杂度爆炸,进而难于分析。这种情况下可以借助图上推演的办法,将代数结果看作是某种几何过程的离散采样。这就能够借助结合图形挖掘出代数推到很难挖掘出来的规律。
  2. 与微分动力系统类似,二次递推数列也会产生稳定平衡点、不稳定平衡点、以及极限环等结构。这些结构借助图上推演很容易观察。
  3. 进制也是代数和几何之间的桥梁之一,利用进制变换可以将一个数列转化为一个小数,从而将数列的代数递推关系变为进制变换函数的图像反映到平面直角坐标系中。部分时候会产生分形,对应着伪随机过程,可以作为某些随机数生成器的设计原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值