当前课程知识点:计算方法 >  第6章 线性方程组的直接解法 >  6.4 误差分析 6.5 数值实验 >  6.4 误差分析 6.5 数值实验

返回《计算方法》慕课在线视频课程列表

6.4 误差分析 6.5 数值实验在线视频

下一节:7.1 引言 7.2 线性方程组的迭代法(上)

返回《计算方法》慕课在线视频列表

6.4 误差分析 6.5 数值实验课程教案、知识点、字幕

好同学们

我们前面学习了

线性方程组的直接解法里面

两个很重要的内容

一个是消元法第二

LU分解

同时我们通过LU分解

又派生了相关的一些特殊的

求解线性方程组的方法

那么在这个方法里面

其实我们还有很多问题

特别是在误差处理里面我们知道

在计算机计算过程中

由于计算机字长的这种有限性

那么不可避免的产生所谓的

这种误差

同时由于所求解问题的初始数据

我们数据

可能来源于不同的一个情况比如说

我们通过实验所获得或者说

别人给的数据等等

那么这个实验数据

包括我们所获得数据

应该有误差的

因此在计算机处理过程中

这个误差

他会在传递

或者说通过初始误差的这种过程

会带来计算结果的误差

我们下面对误差做一些分析

我们假设原方程组不管你系数矩阵

怎么来的对吧

实验也罢

或者从别的途径获得数据也罢

那么这个方程组Ax=b

它的A矩阵应该有误差

同时那个

自由向量b也有误差

我们把A的误差那叫δA

把b的误差叫δb

这种情况下我们所得到的方程组的

解它也有误差叫δx

因此

我把原方程组Ax=b转化成

A+δA

乘以x+δx

等于b+δb

这个近似方程组

求出的解

是原问题它的偏差

是要说有个δx

我们下面对它的δx

它的过程做些分析

因为δx

它来源于δA

或者δb

或者同时起作用

也就是说δA,δb

它会带来了解的这种误差

那么它的大小

会直接影响解的可靠性

那么这种求解过程中

刚才说过了依赖于δA和δb

因此把这个方法

或者说这种过程

也叫做线性方程组

它的解对系数的敏感性

这个系数包括我们系数矩阵

也包括自由向量

我们下面做个分析

方程组的系数矩阵

他如果发生微小变化

如果说引起方程组它的

解的性质上的变化

把这种变化

我们就叫做方程组的一个

本质问题叫条件问题

我们下面做些分析

那么我们利用Ax=b

刚才讲了

如果说A的误差δA

b的误差δb

我们会产生x的误差δx

我们下面分三种情况

来讲一下

第一种情况

如果说

δb的它不等于0

δA等于0

也说系数矩阵没有误差

而那个b是有误差的

我们通过证明得到了

这样的解的相对误差

应该小于A的逆的范数

乘以A的范数

再乘b的相对误差这是第一种情况

第二种情况

我们假设δA不等于0

δb要等于0

换句话说δA

有误差也叫作系数矩阵有误差

而自由向量是没有误差的

我们会同样的得到一个结果

证明结果是

x的

它的相对误差小于

这是两个式子相除

里面很重要的因素就是

A的逆的范数乘A的范数

这是我们的第二种情况

那么一般情况来讲

对我们说

如果δA,δb都有误差

就我们讲的第三种情况

我们同样的会得到或证明

x的相对误差

小于右边的表达式

那么这表达式里也有很重要的因素

或叫因子

就是A逆的范数乘A的范数

这个在

这样解的相对误差里面

起了个很重要的一个作用

从三个情况可以发现

不管是我们的系数矩阵有误差

自由向量误差

或者说

这两个都有误差情况下

我们会得到

它在解的相对误差里面

一个很重要的因素

或者叫因子

就是A逆的范数

乘A的范数

我们下面给出一个概念

假设这个系数矩阵是非奇异矩阵

那么我们称A逆的范数

乘A的范数

为矩阵A的条件数

把它写成Cond(A)

那么Cond(A)

那就等于A逆的范数

乘A的范数

那么这个范数起什么作用

它在我们前面第二章大家学习过

范数其实是我们计算方法这门课里

不管解决各种问题的数值解

范数在这个计算解的过程中

起着很重要的作用

我们在这章里面看到了

这样的条件数是和范数有关

那么条件数是干什么的

条件数就是来衡量

这样的方程组

它的解对系数敏感性的问题

比如我们回到刚才那个

消元法里面给了一个例子

那么例子大家看到了

有这么两个方程

那么里面一个系数2.001

2.001

我们对原来方程组

他的系数做一个微小变化

那么这个方程组的准确解应该是

0跟-1

那么如果说

将右端自由向量

我们做一个微小变化

也是把那个1

改成1.0002的话

换句话说

我们的自由向量b

它有一个误差

叫δ(0.002,0)

这是它的误差,写的向量形式

那么经过计算

我们发现

这个方程的解

变成了2跟-3了

那么这两方程组的解那相差很大

相差特别大

那么说明方程组它的解

对常数项b的扰动很敏感

换句话说

这个b有个微小变化

这方程组的解变化相当大

相当大

同时根据刚才引进的条件数我们再看一下

A的逆的范数包括A的范数相乘得

到它的条件数是很大的

条件数很大

那么换句话说

这个条件数很大

就得到了它的

解的敏感性比较强一些

那么一般来讲

方程组的条件数越小

求到的它的解就越可靠

反过来讲的话

他的解可靠性就越差

这是条件数

来衡量这个解的敏感性问题

通常

当从方程组Ax=b

求出它的解之后

我们会有个残向量

什么叫残向量

就是用b这个向量减去A乘x**

乘完之后

把这个向量叫残向量

那么用它的大小来衡量

这个解的精度问题

我们认为

如果说对某种范数

这样的r的范数很小情况下就说明

这个解是比较好的

不过要记住这种处理问题的办法

在一般情况下还是不是很准确的

比如说

在上面所举的例子里面可以看到

当用某种方法求解这个方程组后

那么显然r的范数是很小的

但与它真正的解相差还是比较大

那么为了说明这方面的原因

我们可以把残向量r

看成是Ax=b

右端他的这个扰动

由相对的这个误差关系式子

会得到

他的解

x它的

相对误差应该小于右边

这个条件数去乘一下b的范数

去除一下r的范数

那么不可轻易的

用这个残余向量的大小

来判断解的精度

这是我们刚才所讲的道理

或者说的原因

通过这个讲解

通过大家学习之后

我们发现

在方程组求解里面

也可能会出现一种叫病态方程组

那么什么叫病态方程组

如果这个方程组

由于A引发的系数矩阵

或者说自由向量

有一个比较小的扰动

而导致解严重失真的话

把这个方程组

我们叫做病态方程组,否则

一般情况下就是一个良态方程组

这是一个概念

第二个如何去判断

一个方程组是病态方程组

那么我们刚才说了

你可以用条件数去衡量对吧

用这种敏感性去衡量

但是从我们解方程的过程可以发现

这个方程组如果说

这里面我们所强调的

或者讲的一个简单方法

其实跟线性代数有关系

我们知道这门课需要

同学们一个很好的基础

就是线性代数以及高等数学

那么在线性代数里面

大家学习过向量组的线性相关性

线性无关性所以说

用简单的办法来看

一个病态方程组

其实本质上来讲

这个方程组它的系数

矩阵里面的那个行向量

应该是接近线性相关的

这是一个简单方法

第三个

病态方程组一般

不能用解方程组的常用办法

换句话说就是一般办法的解决

我们有一个很重要办法

就是叫迭代求精法

我们利用列主元消元法

以及加上后面我们要学习的

迭代法相结合

解决这种病态方程组的求解问题

这是关于我们的这样一个

方程组它的误差分析问题

也就是说方程组的求解过程中

也可能会出现

系数矩阵

包括自由向量

它有误差

给我们的解带来误差的分析

最后

我们关于这一章直接解法里面

有些数学实验叫数值实验

那么特别重要的事情

同学们应该知道一个数学工具

叫Matlab

我们可以利用Matlab来解决

我们方程组的

直接解法里的相关问题

那么Matlab函数里面

解线性方程组的列主元消元法

是很容易实现

也就是说消元过程也罢

还有我们的回代过程也罢

应该很简单

只要用矩阵的左除命令就可以求解

这是第一个办法

第二个

刚才所强调的或者说介绍过的

利用矩阵的条件数来判断

矩阵的良态或病态问题

那么条件是怎么算呀

刚才看到了条件数计算其实很难

一个我们要算一下A的逆矩阵

同时还得算它的范数

另外

还得把这两个相乘

所以从计算过程来看

所以从计算过程来看
里面有个求矩阵的逆矩阵的过程

里面有个求矩阵的逆矩阵的过程

比较难一些或者比较困难一些

那么利用Matlab工具或软件工具

我们就比较方便了

那么矩阵条件数

依赖于范数不同的定义

有下面三种形式

比如说我们可以利用

这样的办法来求解

A他的逆的1范数

乘一下A的1范数

把它写成cond(A,1)

就可以了

很简单

换句话说

在Matlab函数里面

我直接输一下cond(A,1)就可以了

那么第二个办法那就是无穷范数

A的逆的无穷范数

跟A的范数相乘

那么这个情况下

我们可以直接写一个

cond(A,inf)可以了

第三个情况

我们也可以计算它的F范数

A逆的F范数和A的范数相乘

会得到这样一个条件数

条件数我们可以利用这三种办法

都可以很简单的

利用Matlab工具解决了

不需要我们去算它的逆矩阵

这是比较方便了

我们最后再说一下

关于把Matlab里面

它的LU分解

刚才前面学习过了

LU分解

它是高斯消元法

包括我们整个

不管是

列主元消元法

列主元消元法全主元消元法

还是高斯消元法

它实际上说

在这个过程里面

我们把它抽象化

利用线性代数的观点来看的话

本身来讲就是一个

方程组的系数矩阵

让它进行行变化或列变化的过程

所以说我们得到的LU分解

在Matlab里面

也比较方便的能够实现

也是我们利用Matlab工具

Matlab工具可以直接简单的

可以把一个矩阵A做分解

不需要我们用矩阵乘法来解决

那么它的格式也很简单

写成括号里面L,U,P

直接进行分解

也是利用这个工具

我们可以把一个方程组

做了LU分解

相当方便

相当简单

希望同学们能够通过这门课的学习

把Matlab这个工具好好学一下

给这个方程组的直接解法

带来很大的方便

计算方法课程列表:

第1章 计算方法概论

-1.1 引言

--1.1 引言

-1.2 算法与效率

--1.2 算法与效率

-1.3 计算机数系与浮点运算

--1.3 计算机数系与浮点运算

-1.4 误差与有效数字

--1.4 误差与有效数字

-1.5 四则运算与函数求值的误差

--1.5 四则运算与函数求值的误差

-1.6 问题的性态与条件数

--1.6 问题的性态与条件数

-1.7 算法数值稳定性

--1.7 算法数值稳定性

-第1章 作业

--第一章 作业

第2章 数值计算的理论基础

-2.1 引言 2.2 线性空间

--2.1 引言 2.2 线性空间

-2.3 内积空间与元素的夹角

--2.3 内积空间与元素的夹角

-2.4 赋范线性空间

--2.4 赋范线性空间

-2.5 向量范数与向量序列极限

--2.5 向量范数与向量序列极限

-2.6 矩阵范数

--2.6 矩阵范数

-第二章 作业

--第二章 作业

第3章 非线性方程求根

-3.1 引言

--3.1 引言

-3.3 不动点迭代法

--3.2 二分法

--3.3 不动点迭代法

-3.4 不动点迭代法的收敛条件

--3.4 不动点迭代法的收敛条件

-3.5 牛顿迭代法及其变形

--3.5 牛顿迭代法及其变形

-3.6 迭代法收敛阶

--3.6 迭代法收敛阶

-3.7 重根的计算与加速收敛

--3.7 重根的计算与加速收敛

-3.8 数值实验

--3.8 数值实验

-第3章 作业

--第3章 作业

第4章 插值法

-4.1 引言

--4.1 引言

-4.2 Lagrange插值

--4.2 Lagrange插值

-4.3 Lagrange插值余项

--4.3 Lagrange插值余项

-4.4 Newton差商插值

--4.4 Newton差商插值

-4.5 Hermite插值

--4.5 Hermite插值

-4.6 分段多项式插值

--4.6 分段多项式插值

-4.7 三次样条插值

--4.7 三次样条插值

-4.8 数值实验

--4.8 数值实验

-第4章 作业

--第4章 作业

第5章 函数逼近与曲线拟合

-5.1 函数逼近与曲线拟合基本概念

--5.1 函数逼近与曲线拟合基本概念

-5.2 连续函数的最佳平方逼近

--5.2 连续函数的最佳平方逼近

-5.3 曲线拟合的最小二乘法

--5.3 曲线拟合的最小二乘法

-第5章 作业

--第5章 作业

第6章 线性方程组的直接解法

-6.1 引言 6.2 高斯消元法

--6.1 引言 6.2 高斯消元法

-6.3 矩阵分解与应用

--6.3 矩阵分解与应用

-6.4 误差分析 6.5 数值实验

--6.4 误差分析 6.5 数值实验

-第6章 作业

--第6章 作业

第7章 线性方程组的迭代解法

-7.1 引言 7.2 线性方程组的迭代法(上)

--7.1 引言 7.2 线性方程组的迭代法(上)

-7.2 线性方程组的迭代法

--7.2 线性方程组的迭代法(中)

--7.2 线性方程组的迭代法(下)

-7.3 非线性方程组的迭代法

--7.3 非线性方程组的迭代法

-7.4 数值实验

--7.4 数值实验

-第7章 作业

--第7章 作业

第8章 特征值与特征向量

-8.1 引言

--8.1 引言

-8.2 幂法与反幂法

--8.2 幂法与反幂法(上)

--8.2 幂法与反幂法(中)

--8.2 幂法与反幂法(下)

-8.3 矩阵的正交分解

--8.3 矩阵的正交分解

-8.4 QR方法

--8.4 QR方法

-8.5 Jacobi方法

--8.5 Jacobi方法

-第8章 作业

--第8章 作业

第9章 数值积分与数值微分

-9.1 引言

--9.1 引言(上)

--9.1 引言(下)

-9.2 牛顿-柯特斯公式

--9.2 牛顿-柯特斯公式

-9.3 复合牛顿-柯特斯公式

--9.3 复合牛顿-柯特斯公式(上)

--9.3 复合牛顿-柯特斯公式(下)

-9.4 龙贝格算法

--9.4 龙贝格算法

-9.5 高斯型求积公式

--9.5 高斯型求积公式(上)

--9.5 高斯型求积公式(下)

-9.6 数值微分

--9.6 数值微分

第10章 常微分方程初值问题的数值解法

-10.1 引言

--10.1 引言

-10.2 梯形公式和改进的欧拉方法

--10.2 梯形公式和改进的欧拉方法

-10.3 单步法的误差与稳定性收敛性

--10.3 单步法的误差与稳定性收敛性

-10.4 高阶单步方法

--10.4 高阶单步方法

-10.5 线性多步法

--10.5 线性多步法

-10.6 多步法的误差与稳定性

--10.6 多步法的误差与稳定性

-10.7 一阶微分方程组与高阶微分方程

--10.7 一阶微分方程组与高阶微分方程

-第10章 作业

--第10章 作业

6.4 误差分析 6.5 数值实验笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。