如何将带边界条件的二阶线性差分方程改写为矩阵方程
差分方程转矩阵方程的实现思路
你手里的是二阶线性非齐次差分方程,带两端边界条件,转换矩阵方程的核心是把所有未知的y(n)整理为列向量,把差分关系映射为三对角系数矩阵,最终形式为A * Y = b的线性方程组,具体步骤如下:
- 第一步:确定未知量范围
已知边界条件y(-1)=0和y(100)=101/6为固定值,剩下的未知量是y(0), y(1), y(2), ..., y(99),共100个未知量,对应n=1到n=100共100个差分方程,刚好匹配方阵规模。 - 第二步:构造未知量列向量Y
Y = [y(0), y(1), y(2), ..., y(99)]^T
- 第三步:构造三对角系数矩阵A
A是100×100的稀疏矩阵,只有三条对角线有非零元素:- 主对角线:所有元素为
-10.1,对应差分方程中y(n-1)项的系数 - 次对角线(主对角线下方,行索引比列索引大1):所有元素为
1,对应差分方程中y(n)项的系数 - 上对角线(主对角线上方,行索引比列索引小1):所有元素为
1,对应差分方程中y(n-2)项的系数 - 其余位置元素全部为0
- 主对角线:所有元素为
- 第四步:构造右端常数列向量b
b的每个元素对应差分方程移项后的常数项,分段计算:- 第1个元素(对应n=1的方程):
-1.35 * 1 - y(-1) = -1.35(已知y(-1)=0) - 第2到第99个元素(对应n=2到n=99的方程):
-1.35 * n,无额外常数项 - 第100个元素(对应n=100的方程):
-1.35 * 100 - y(100) = -135 - 101/6(已知y(100)=101/6)
- 第1个元素(对应n=1的方程):
如果需要简化验证,可以把边界上限缩小到y(3),此时未知量只有3个,你可以手动写出3×3的矩阵和对应b向量,核对后就能快速理解映射逻辑。
内容的提问来源于stack exchange,提问作者WilliamW
相关产品推荐
相关产品推荐

