线性系统解中的病态问题
1. 病态系统示例
在Python中,我们可以通过以下代码展示线性系统解对微小变化的敏感性:
import numpy as np
# 假设d和F已经定义
g = d.copy()
g[-1] += 1e-5
z = np.linalg.solve(F, g)
print('z = \n', z)
print('||x-z||_2 = \n', "%20.16e"% np.linalg.norm(x-z, 2))
运行上述代码后,我们发现即使对向量进行了微小的改变,线性系统的解也会发生巨大的变化。这表明该线性系统是病态的。
2. 不适定系统的更多示例
这里考虑两个最小二乘逼近问题。
2.1 示例3.3:使用范德蒙德矩阵进行回归系数计算
目的是找到回归系数 $\alpha_8, \cdots, \alpha_0$,使得 $W = \sum_{j=0}^{9} \alpha_j H^j$ 是最小二乘解。
MATLAB代码 :
H = [1.65, 1.67, 1.68, 1.72, 1.77, 1.82, 1.86, 1.89, 1.9]';
W = [57, 61, 64, 69, 75, 83, 90, 97, 100]';
V = vander(H);
A = V'*V;
b = V'*W;
x = A\b;
运行
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



