举例说明矩阵方程组在右端项扰动后与原右端项求解的误差产生的原因
时间: 2024-05-27 18:12:20 浏览: 162
考虑矩阵方程组$Ax=b$,其中$A$是$n\times n$的矩阵,$b$是$n$维向量。假设我们对$b$进行了一个微小的扰动,即$b$变成了$b+\Delta b$,我们希望求解$A(x+\Delta x) = b+\Delta b$,其中$\Delta x$是$x$的微小变化。
设$x_0$是原方程组的解,即$Ax_0=b$,则我们有:
$$
A(x_0+\Delta x) = b+\Delta b
$$
将上式两边用$x_0$左乘,得到:
$$
Ax_0+A\Delta x = b+\Delta b
$$
两边同时减去$Ax_0$,得到:
$$
A\Delta x = \Delta b
$$
因此,我们可以通过求解$A\Delta x = \Delta b$来得到$x$的微小变化$\Delta x$。但是,由于计算机浮点数的精度有限,对右端项的微小扰动可能会引起求解过程中的数值误差,从而导致解的误差。
举个例子,考虑下面的矩阵方程组:
$$
\begin{bmatrix}
1 & 2 \\
3 & 4
\end{bmatrix}
\begin{bmatrix}
x_1 \\
x_2
\end{bmatrix}
=
\begin{bmatrix}
5 \\
11
\end{bmatrix}
$$
它的解为$x_1=1$,$x_2=2$。现在我们对右端项进行微小扰动,变成了:
$$
\begin{bmatrix}
5.1 \\
11.1
\end{bmatrix}
$$
我们再求解矩阵方程组:
$$
\begin{bmatrix}
1 & 2 \\
3 & 4
\end{bmatrix}
\begin{bmatrix}
x_1 \\
x_2
\end{bmatrix}
=
\begin{bmatrix}
5.1 \\
11.1
\end{bmatrix}
$$
得到的解为$x_1=0.9999999999999999$,$x_2=2.0000000000000004$,与原解有微小的误差。这是由于计算机浮点数只能表示有限的小数,对于$5.1$和$11.1$这样的无限小数,必须进行舍入,从而产生误差。
阅读全文