连任三届的递推关系和贝塞尔函数

三届复发关系计算贝塞尔函数的基础。

内容

一个熟悉的连任三届的复发。

从两个大的整数,说514229年和317811年。原因很快就会变得清晰,我将标签他们$ f f{29}{30} $和$ $。
明确n = 30 f (30) = 514229;f (29) = 317811
n = 30 f = 1到6 0 0 0 0 0 0列列7到12 0 0 0 0 0 0列13到18 0 0 0 0 0 0列19到24 0 0 0 0 0 0列25到30 0 0 0 0 317811 514229
现在重复差异,倒数。$ $ f f {n + 1} {n} = - fn \ n = 29日28日……、2、1 $ $
n = 29: 1:2 f (n - 1) = f (n + 1) - f (n);结束n f
n = 2 f =列1到6 0 1 1 2 3 5列7到12 8 13 21 34 55 89列13通过18 144 233 377 610 987 1597列19到24 2584 4181 6765 10946 17711 28657列25到30 46368 75025 121393 196418 317811 514229
认识这些整数吗?他们是值得尊敬的斐波纳契数。我刚刚逆转常用来计算它们。我没有选择前两个随机值。事实上,他们的选择是非常微妙的。尝试选择其他6位整数,,看看你可以带前30差异达到负值。当然,我们通常先f_0 = 0美元,f = 1美元,与添加前进。$ $的关系fn = f f {n} {n + 1} - $ $的一个例子连任三届的复发。。我写它,这样我可以向前或向后。

弗里德里希·贝塞尔

弗里德里希·贝塞尔是一个德国天文学家,数学家和物理学家从1784年到1846年。他是高斯的当代,但两人闹翻。虽然他没有大学教育,但他做出了主要贡献精确测量恒星的行星轨道和距离。他有一个坑在月球和小行星以他的名字命名。在数学中,特殊功能,他的名字实际上是被别人发现,丹尼尔·伯努利和命名为贝塞尔死后。他们在极坐标中扮演相同的角色,三角函数在笛卡尔坐标。它们适用于广泛的领域,从物理到金融。

贝塞尔函数

贝塞尔函数是由一个普通的微分方程,概括了极坐标的谐振子。方程包含一个参数n,美元订单。$ $ x ^ 2 y”+ x y ' + (x ^ 2 - n ^ 2) y =金宝搏官方网站 0 $ $解这个方程也有时被称为圆柱谐波。为我的目的在这里,他们最重要的属性是这位连任三届的递归关系:$ $ \压裂{2 n} {x} J_n (x) = J_ {n} (x) + J_ {n + 1} (x) $ $这一个变量系数取决于两个参数,订单n和参数x美元美元。完成规范,它将需要提供两个初始条件取决于x美元。但是,正如我们将要看到的,使用递归前进的方向是灾难性的数值。另外,如果我们能以某种方式供应两个结束条件,我们可以使用递归在相反的方向。这背后的一个经典的方法称为米勒的算法。

米勒的算法

米勒的算法也雇佣了这个有趣的身份,我所说的标准化者。$ $ J_0 (x) + 2 J_2 (x) + 2 J_4 (x) + 2 J_6 (x) + \…= 1 $ $在哪儿不是很明显这个身份来自我不会试图获得它。我们不知道最终的条件,但我们可以选择任意值,运行向后复发,然后使用标准化者重新调节。步骤1。选择一个大N,暂时让美元$ $ \波浪号{J} _N”= 0 $ $ $ $ \波浪号{J} _ {N} = 1 $ $ $ N = N - 1,……1美元计算$ $ \波浪号{J} _ {n} = 2 n / x \波浪号{J} _n”\ - \波浪号{J} _ {n + 1} $ $步骤2。规范化:$ $ \σ= \波浪号{J} _0 + 2 \波浪号{J} _2 + 2 \波浪号{J} _4 +……$ $ $ $ J_n = \波浪号{J} _n”/ \σ\ n = 0,…,N $$ I'll show some results in a moment, after I introduce an alternative formulation.

矩阵公式

你知道我喜欢用矩阵来描述算法。这位连任三届的递归生成一个三对角矩阵。但三对角线?我可以把下面的三个对角线,斜上方,或以对角线为中心。这是第二个参数来完成稀疏矩阵的发电机,spdiags。这是代码。
类型blt
函数B = blt (n, x, loc) % recurence贝塞尔三个词。% B = blt (n, x, loc)是一个n×n %稀疏三对角系数矩阵产生的贝塞尔函数besselj ((0: n - 1), x)。% loc指定对角线的位置。% loc =“中心”,默认情况下,中心三对角线。% loc = '低'把三对角线三角形。% loc =“上层”将三对角线上的三角形。如果输入参数个数= = 2 loc =“中心”;结束开关loc‘中心’,locd = 1:1;“低”,locd = 2:0;“上”,locd = 0:2; end % Three term recurrence: 2*n/x * J_n(x) = J_(n-1)(x) + J_n+1(x). d = -2*(0:n-1)'/x; e = ones(n,1); B = spdiags([e d e],locd,n,n); end

较低的

如果没有舍入误差,如果我们知道前两个贝塞尔函数的值,美元J_0 (x)和J_1美元美元(x),我们可以使用反斜杠,线性方程解算器,对角线的三角形计算美元J_n (x)为n > 1美元美元。在这里,例如,$ x = 1美元。
格式J = @ (n, x) besselj (n, x);n = 8 x = 1.0 B = blt (n, x,“低”);rhs = 0 (n, 1);rhs J (1:2) = ((0:1), x);v = B \园艺学会
n = 8 x = 1 v = 0.765197686557967 0.440050585744934 0.114903484931901 0.019563353982668 0.002476638964110 0.000249757730213 0.000020938338022 0.000001502326053
这些值是准确的,几乎所有的数字显示。除了最后一个。这是开始显示严重的数值不稳定性的影响。让我们尝试一个更大的价值n
n = 18 B = blt (n, x,“低”);rhs = 0 (n, 1);rhs J (1:2) = ((0:1), x);v = B \ rhs;semilogy (0: n - 1, v,“啊——”)标题(“J_n (1)”)包含(“n”)
n = 18
的值超出了n = 9是怀疑,事实上,完全错误的。提出消除反斜杠用来解决这个下三角系统就是为增加这位连任三届的复发n。和复发有两个解决方案,我们正在试图计算和第二个对应于最大金宝搏官方网站(x),美元第二类贝塞尔函数。最大(x)刺激美元的舍入误差和完全接管$ n > 9美元。所以下三角选项——远期复发是不令人满意的原因有两个:它需要两个贝塞尔值开始,它是不稳定的。

我们需要做一个修改上三角系数矩阵。
n = 30;B = blt (n, x,“上”);B (n, n) = 0;
现在最后两行和列是一个2×2的身份。
全部(B (n - 1: n, n - 1: n))
ans = 1 0 0 1
后替换过程只是这位连任三届的递归向后运行。我们需要开始与美元J_ {n} (x)和美元J_ {2} (x)美元。
rhs = 0 (n, 1);rhs J (n - 1: n) = ((n: n - 1), x);格式ev = B \园艺学会
4.400505857449330 v = 7.651976865579656 e-01 e-01 1.149034849319004 e-01 1.956335398266838 e-02 2.476638964109952 5.249250179911870 9.422344172604491 1.502325817436807 2.093833800238925 2.497577302112342 e 03 e-04 e-05 e-06 e-08 e-09 2.630615123687451平台以及1.198006746303136 e-11 4.999718179448401 2.115375568053260 7.186396586807488 2.297531532210343 6.885408200044221 1.925616764480172 e-13 e-14 e-16 e-17 e-19 e-20 5.880344573595754 e-22 1.548478441211652 e-23 3.873503008524655 1.902951751891381 9.511097932712488 4.563424055950103 2.098223955943776 9.227621982096665 e-25 e-27即使e-30 e-32 e-33 e-40 2.089159981718163 1.211364502417112 6.781552053554108 3.660826744416801 e-35 e-37 38吗
这些值是准确的,几乎所有的有效数字显示。向后递归抑制不必要的最大(x)美元和过程是稳定的。

中心

我们可以避免知道开始这两个值吗?是的,通过使用一个米勒矩阵公式的算法。在第一行插入正常化条件。现在B美元三对角,除了第一行
(1 0 2 0 2 0 2]
其他行有$ 1 $ s超级副斜杆和2 n / x美元的对角线(n + 1) -美元行。
n = 30;B = blt (n, x);B (1:2) = (1 0);3:2 B (1: n) = 2;间谍(B)标题(“B”)
这种方法的优点是,它不需要任何的贝塞尔函数值先天的。右边是一个简单的单位向量。
rhs =眼(n, 1);格式ev = B \ rhs semilogy (0: n - 1 v,“啊——”)包含(“n”)标题(“J_n (1)”)
4.400505857449335 v = 7.651976865579665 e-01 e-01 1.149034849319005 e-01 1.956335398266840 e-02 2.476638964109954 5.249250179911872 9.422344172604494 1.502325817436807 2.093833800238926 2.497577302112343 e 03 e-04 e-05 e-06 e-08 e-09 2.630615123687451平台以及1.198006746303136 e-11 4.999718179448401 2.115375568053260 7.186396586807487 2.297531532210343 6.885408200044220 1.925616764480171 e-13 e-14 e-16 e-17 e-19 e-20 5.880344573595753 e-22 1.548478441211652 e-23 3.873503008524655 1.902951751891381 9.511097932712487 4.563424055950102 2.098223955943775 9.227621982096663 e-25 e-27即使e-30 e-32 e-33 e-40 2.088559301926495 1.211364395117367 6.781552053355331 3.660826744416762 e-35 e-37 38吗

相对误差

w = J ((0: n - 1), x);relerr = (v - w) / w;semilogy (0: n - 1、abs (relerr) + eps * (v = = w),“啊——”)包含(“n”)标题(的相对误差)
最后几个值的相对误差恶化n。这不是意外的因为我们有有效截断无限矩阵。

三角形的因素

B显示了美元的LU分解没有旋转x美元的价值,但有代替者。归一化条件混合的复发。
陆[L U] = (B);间谍(L)标题(“L”)snapnow间谍(U)标题(“U”)

引用

j·c·p·米勒”的选择标准二阶齐次线性方程的解决方案”,金宝搏官方网站夸脱。j .机械工程。达成。数学。3,1950,225 - 235。沃尔特·Gautschi连任三届的递归关系的计算方面,暹罗审查1967,24 - 82。

发表与MATLAB®R2017a

|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。