寻找特征值的数值方法的准确性

计算科学 特征值 龙格库塔 数字 准确性
2021-11-29 18:50:36

我在评估我的数值计算的准确性时遇到了问题。我有一个二阶 ODE。它是形式为: 的特征值问题, 边界条件为: y(0) = y(1) = 0。

y+ay+λ2y=0,
y(0)=y(1)=0.

这个方程描述了一个振动的弦,夹在 x=0 和 x=1 处,具有一定的质量分布。我希望能够以数值方式计算这个方程的特征值。我通过使用 Runge-Kutta 方法来找到具有初始条件的方程的解: 具有不同的值,然后寻找在x=1。

y(0)=0,y(0)=1
λ

当我找到一个具有 其中是一个预定义的常数。

y(1)<δ,
δ

现在的问题是我想知道我的计算有多准确,即如何选择δ的值和计算潜在特征函数值时使用的步长,以便特征值的误差小于,比如说103

2个回答

的精确解和数值解在解析上取决于和右边界值之间存在局部近似线性关系。hλλ

因此对于阶方法,给定步长的数值特征值将导致精确解中大小为的右边界值,因此与精确解的特征值的距离相同.phO(hp)

要使用经典 RK4 作为积分器获得大小的误差,可以尝试将作为步长,以获得的误差数值积分,并希望在特征值中具有相同的误差幅度接近精确的先验估计很困难,更容易估计后验误差,例如使用理查森外推。103h=0.1h=0.21041031


请注意,较大的较高振荡导致考虑采样定理的要求,即采样密度必须足够高。或者换句话说,对于较大,问题变得僵硬,误差项可以修改为以反映这一点。λλO(e|λ|hp)


这对于最低特征值应该没有问题,因此在寻根器中,并使用外推公式估计误差 用于104h=0.1h=0.2

error=|λ0.2λ0.1|15
λ0.1

原则上,您可以尝试提出一个解析表达式来说明步长或中的误差如何影响答案。我不会打扰。你可能会弄错。更好的方法是改变这些数字,看看你的答案有多大变化。例如,您可以将从 0.01 更改为 0.001,然后查看答案变化了多少。同样,您可以按 2 或 10 倍改变步长。δδ