数值分析1 直接法
数值分析 直接
..
. ..
. ..
.
. . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. ..
. ..
. ..
. ..
. ..
.
直接方法
数值分析
7/72
1 1 1 6 r3 −(−1)r2 →r3 −→ 0 4 −1 5 0 0 −2 −6 x∗ = (1, 2, 3)T 消去法的基本思想是用逐次消去未知数 的方法把原线性方程组 Ax = b 化为与其 等价的三角形线性方程组,而求解三角 形线性方程组可用回代的方法求解。
直接方法
数值分析
3/72
. §2 高斯消去法 . 本节介绍高斯消去法及消去法和矩阵三 角分解之间的关系。高斯消去法是一个 古老的求解线性方程组的方法,但由于 它的改进、变形得到的选主元素消去法、 三角分解法仍然是目前计算机上常用的 有效方法。
.. . .. . .. . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. . .. . .. . .. . .. .
.. . .. . .. . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. . .. . .. . .. . .. .
数值分析--解线性方程组的直接方法
分 析
高斯消去法实质是将A分解为两个三角矩阵的相乘的
》 因式分解,于是有
定理7(矩阵的LU分解) 设A为n阶矩阵,如果A的顺序主子 式Di 0(i 1,2,, k),则A可分解为一个单位下三角矩阵L 和一个上三角矩阵U的乘积,且这种分解是唯一的.
第5章 解线性方程组的直接方法
A L1U1 L2U 2
数
值 分 析
J1
》P1AP J
J2
,
J
s
其中
i
1
Ji 0
0
对角化的条件:1)…;2) ….
0
i
1
0
0 0 0
1
0
0
0 .
i kiki
§2 一、高斯消去法
第5章 解线性方程组的直接方法
高斯消去法
设有线性方程组:AX=b
《 数 值 分 析 》
a11 a12 a1n
1in
ai1
0.
然后交换第1行和第i1行(当i1≠1时),再进行第1次消元.
……
第5章 解线性方程组的直接方法
第k步选主元素,
aik ,k
max aik
k in
0.
《 然后交换第k行和第ik行(当ik≠k时),再进行第k次消元.
数
值
……
分
析 第n-1步 》
直接法数值分析流程
直接法数值分析流程
下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!
并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!
Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!
In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!
标准化中,直接法的应用条件
标准化中,直接法的应用条件
在标准化(Normalization)过程中,直接法(Direct Method)是一种常见的应用方式。直接法的目标是将关系数据库中的数据组织为符合标准化要求的形式,以提高数据的灵活性、一致性和查询效率。
直接法适用于以下条件:
1. 数据表中的每个属性(列)都是原子的:直接法要求将属性拆分为最小的、不可再分的数据项。这意味着每个属性都应该包含一个单一的值,而不是多个值。如果某个属性包含多个值,那么就需要使用额外的关系表来存储这些多值。
2. 数据表中的每个属性都与主键直接相关:直接法要求每个属性都与主键直接相关,也就是说每个属性都完全依赖于主键,而不是依赖于其他非主键属性。这样可以确保数据表中的每个属性都能保持对应关系的一致性。
3. 数据表中不存在传递依赖:直接法要求消除数据表中的传递依赖关系。传递依赖是指当一个非主键属性依赖于另一个非主键属性时,通过中间的非主键属性进行传递。在直接法中,传递依赖需要通过拆分属性或创建新的关系表来消除。
4. 数据表中不存在多值依赖:直接法还要求消除数据表中的多值依赖关系。多值依赖是指一个属性集合中的属性对于其他属性集合的每个值都存在依赖关系。
在直接法中,多值依赖需要通过拆分属性或创建新的关系表来消除。
通过满足上述条件,直接法可以将数据库中的数据进行适当的组织和分解,以达到更高的数据规范性和查询效率。在实际应用中,直接法通常需要结合其他标准化方法来实现对数据库结构的优化和优化。
数值分析线性方程组直接法实验
实验报告
一、实验目的
1.了解LU 分解法的优点
二、实验题目
1.给定矩阵A 和向量b:
.1000,123121⎪⎪⎪⎪⎪
⎪⎭
⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--= b n n n n n n A (1)求A 的LU 分解,n 的值自己确定;
(2)利用A 的LU 分解求解下列方程组
(a)b Ax =, (b)b x A =2, (c)b x A =3.
对方程组(c),若先求3A LU =,再解b x LU =)(有何缺点?
三、实验原理
求解线性方程组的LU 分解法直接解线性方程组.
四、实验内容及结果
2. b Ax =,b x A =2,b x A =3的求解。
3. 若先求3
A LU =,再解b x LU =)(.
五、实验结果分析
LU 分解法的优点:根据题目,如果直接用b x A =3来计算的话,需要先计算3A 的值,然后再计算方程组的值,步骤会多出很多,使得计算更复杂。如果使用LU 分解法来解方程组的话,只需要对系数矩阵做一次LU 分解,以后只要解三角方程即可,计算的步骤明显减少。
数值计算线性方程直接法实验
数值计算线性方程直接法实验
实验报告二
一、实验目的
通过本实验的学习,应掌握各种直接法,如列主元消去法,追赶法等的基本思想和原理,了解它们各自的优缺点及适用范围。
二、实验题目
(1)实验一分别用列主元法和顺序高斯消去法求解下面的线性方程组,分析对结果的影响。
--?-21
13
.6291.52592.1111211314.59103.016
4
321
x x x x
78.461297.51 (2) LU 分解的优点
实验题目:给定矩阵A 和向量b :
--=n n n
n
n n
A 123121
,??
=1000 b 1)求A 的LU 分解,n 值自己确定;
2)利用A 的LU 分解求解下列方程组(a )Ax=b (b)A 2x=b (c) A 3x=b
对方程组(c),若先求LU= A 3,再解(LU )x=b 有何缺点?
(3)追赶法的优点
实验题目:用追赶法分别对n=10,n=100,n=1000解方程组Ax=b ,其中
------=41
141
14114
A ,
=5556 b 再用LU 分解法求解此方程组,并对二者进行比较。
三、实验原理
顺序Gauss 消去法:
步1 输入系数矩阵A ,右端项b ,置k:=1;步2 消元:对k=1,,1-n ,计算
)()(/k kk k ik ik a a m =,o a k ik
=+)
1(,
)
()
1()
1()()
()
1(,k k ik k i
k i
k kj ik k ij
k ij
b m b b a m a a -=-=+++.
n k j n k i ,,1;,,1 +=+= 步3 回代:
数值分析方法及其应用
数值分析方法及其应用
数值分析是一种以数值计算为基础的数学方法,通过使用计算机和数值算法来解决数学问题。它在现代科学和工程领域中有着广泛的应用。本文将介绍数值分析的基本概念和常见方法,并探讨其在各个领域中的应用。
一、数值分析方法概述
数值分析方法是一种通过数值计算逼近真实结果的方法。它主要包括离散化、数值逼近、数值求解和误差分析等步骤。其中,离散化是将连续问题转化为离散问题,数值逼近是用有限的计算步骤得到问题的近似解,数值求解是通过迭代计算等方法求解数学问题,误差分析则是评估数值计算结果与真实结果之间的差异。
二、数值分析方法的常见技术
1. 插值和外推:插值是通过已知数据点得到某个离散区间内的其他点的方法,而外推则是通过已知数据点得到某个离散区间外的点的方法。常见的插值和外推方法包括拉格朗日插值、牛顿插值和样条插值等。
2. 数值积分:数值积分是通过数值方法来计算函数积分的过程。常用的数值积分方法有梯形法则、辛普森法则和高斯积分法等。
3. 数值微分:数值微分是通过数值方法来计算函数导数的过程。常用的数值微分方法有差分法、微分逼近法和辛普森法则等。
4. 解线性方程组:线性方程组是数值分析中的重要问题,其求解方
法包括直接法和迭代法。直接法包括高斯消元法、LU分解法和高斯-
赛德尔迭代法等,而迭代法则主要包括雅可比迭代法和共轭梯度法等。
5. 数值优化:数值优化是一种通过数值方法找到函数的最优解的过程。常用的数值优化方法有梯度下降法、牛顿法和拟牛顿法等。
三、数值分析方法的应用领域
1. 工程领域:数值分析方法在工程领域中有着广泛的应用。例如,
数值分析-线性方程组的直接解法
这是与原线性方程组(1)等价的方程组.
一、顺序Gauss消去法
对于等价方程组
(1) (1) (1) (1) a11 x1 a12 x 2 a1 x b n n 1 ( 2) ( 2) ( 2) a x a x b 22 2 2n n 2 ( n 1 ) ( n 1 ) ( n 1 ) an x a x b 1 n 1 n 1 n 1 n n n 1 ( n) ( n) a x b nn n n
(1) a1 n (1) a2 n (1) a3 n
(1) an 2
(1) an 3
(1) a nn
(1) b1 (1) b2 (1) b3 (1) bn
第一步,设 a11(1)≠ 0 ,将第一列a11(1)以下各元素消成零
即依次用
li1
第二步,设 a22(2)≠ 0 ,将第二列a22(2)以下各元素消成零,
2) a i(2 即依次用 li 2 ( 2) (i=3,4,…,n) a 22 乘以矩阵[A(2),b(2)]的第二行再加到第i行,得到矩阵
一、顺序Gauss消去法
A
( 2)
, b( 2)
(1) a11 0 0 0
线性方程组的直接解法
刘 斌
数值分析(本科)线性方程组直接法
六、三角分解之乔列斯基分解
例. 利用乔列斯基分解求解线性方程组
解. 对系数矩阵进行乔列斯基分解
六、三角分解之乔列斯基分解
例. 利用乔列斯基分解求解线性方程组
解. 对系数矩阵进行乔列斯基分解
六、三角分解之乔列斯基分解
例. 利用乔列斯基分解求解线性方程组
解. 对系数矩阵进行乔列斯基分解
六、三角分解之乔列斯基分解
练习. 分别用高斯消去法和列主元高斯消去法计算下述线性方程 组
解:(高斯消去法)
三、列主元高斯消去法
练习. 分别用高斯消去法和列主元高斯消去法计算下述线性方程 组
解:(高斯消去法)
三、列主元高斯消去法
练习. 分别用高斯消去法和列主元高斯消去法计算下述线性方程 组
解:(列主元高斯消去法)
三、列主元高斯消去法
注:增加按列选主元的过程的目的是提高算法的数值稳定性。
三、列主元高斯消去法
解:(高斯消去法)
三、列主元高斯消去法
解:(高斯消去法)
三、列主元高斯消去法
解:(列主元高斯消去法)
三、列主元高斯消去法
练习. 分别用高斯消去法和列主元高斯消去法计算下述线性方程 组
解:(高斯消去法)
三、列主元高斯消去法
解. 对系数矩阵进行克洛脱分解
七、三角分解之追赶法
例. 利用追赶法求解线性方程组
数值分析 第三章解线性方程组的直接法
i
, xi
bi ai,n xn ai,i1 xi 1 ai,i
i
回代过程中的每一步计算也都要以主对角元素作为除数.
如果主对角线元素的绝对值很小,由第一章的误差分 析可知计算时将会导致很大的计算误差.
3
求解下列方程组 * x1 17.46 0.01200 0.01000 0.1670 0.6781 * 1 A 1.000 0.8334 5.910 12.10 x2 45.76 * 3200 1200 4.200 981.0 x3 5.546 0.01000 0.1670 0.6781 0.01200 3 0 0.100 10 8.010 44.41 0 1467 4454 101 1798 102
0.01000 0.01200 0 0.100 103 0 0 .
8.010 44.41 1175 105 6517 105 x3 5.546; x2 100.0; x1 104.0 0.1670 0.6781
4
为了避免上述情况的发生,我们可以通过行交换,在需要消元的 这一列中把绝对值最大的元素 aiki 换到主对角线的位置 成为主元素 这个过程称为选主元,这种方法称为列主元素消元法. 通过选主元可以使计算结果大为改善.
数值分析中的数值解线性方程组与矩阵计算
数值分析中的数值解线性方程组与矩阵计算数值分析是一门研究利用计算机数值方法解决数学问题的学科。线
性方程组是数值分析领域中常见的问题之一,而矩阵计算则是解决线
性方程组的关键。
一、线性方程组的数值解
线性方程组指的是由一系列线性方程组成的方程组。在数值分析中,往往会遇到大规模的线性方程组,解它们的解析解是困难且耗时的,
因此需要采用数值方法来求解。
1.1 直接法
直接法是一种通过有限次数的运算,得到给定线性方程组的精确解
的方法。其中最常用的方法是高斯消元法和LU分解法。
高斯消元法通过将线性方程组的增广矩阵化为上三角矩阵,再通过
回代求解得到解向量。LU分解法则将系数矩阵分解为一个下三角矩阵
L和一个上三角矩阵U,然后通过迭代求解来得到解向量。
1.2 迭代法
迭代法是一种通过迭代逼近的方式,不断改进解的近似值,直到满
足精度要求为止。其中最常用的方法是雅可比迭代法和高斯-赛德尔迭
代法。
雅可比迭代法通过将线性方程组的每个方程都表示为未知数的显式
函数,并通过迭代公式逐步逼近解向量。高斯-赛德尔迭代法则在雅可
比迭代法的基础上,通过使用每次迭代后的更新值来改善近似解的质量。
二、矩阵计算
矩阵计算在数值分析中扮演着至关重要的角色,它们是线性方程组
求解的基础。
2.1 矩阵乘法
矩阵乘法是指将两个矩阵相乘得到一个新的矩阵的运算。在数值分
析中,矩阵乘法常常用于表示线性方程组的系数矩阵与解向量的乘法,以及迭代法中的更新矩阵与解向量的乘法。
2.2 矩阵求逆
矩阵求逆是指找到一个矩阵的逆矩阵,使得将该矩阵与其逆矩阵相
乘得到单位矩阵。在数值分析中,矩阵求逆常常用于直接法中的LU分解和迭代法中的雅可比迭代法。
解线性方程组的直接法和迭代法
数值分析方法中方程求解的直接法和迭代法
第3章 解线性方程组的直接法
一、
消元法
1. 高斯消元法(加减消元):首先将A 化为上三角阵,再回代求解。
11121121222212n n n n nn
n a a a b a a a b a a a b ⎛⎫
⎪ ⎪
⎪
⎪⎝⎭ (1)(1)(1)(1)(1)11
121311(2)(2)(2)(2)222322
(3)(3)(3)3333()()000
00
n n n
n n nn
n a a a a b a a a b a a b a b ⎛⎫
⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝
⎭
步骤如下:
第一步:1
11
1,2,,i a i i n a -⨯
+=第行第行
11121121222212
n n n n nn
n a a a b a a a b a a a b ⎛⎫
⎪ ⎪
⎪
⎪⎝⎭ 111211(2)(2)(2)2222
(2)(2)(2)2
00n n
n nn
n a a a b a a b a a b ⎛⎫ ⎪ ⎪ ⎪ ⎪⎝⎭
第二步:(2)2
(2)222,3,
,i a i i n a -⨯+=第行第行 111211(2)(2)(2)2222
(2)(2)(2)200n
n
n nn
n a a a b a a b a a b ⎛⎫
⎪ ⎪ ⎪ ⎪⎝
⎭
111213
11
(2)(2)(2)(2)
222322
(3)(3)(3)
33
33(3)(3)(3)
3
00000n n n n nn n a a a a b a a a b a a b a a b ⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝
⎭
类似的做下去,我们有:
数值分析方法
数值分析方法
数值分析方法是一种利用计算机对数学问题进行数值计算和分析的方法。它是
数学、计算机科学和工程学的交叉学科,广泛应用于科学计算、工程设计、经济金融等领域。数值分析方法的研究对象包括数值逼近、数值积分、常微分方程数值解、偏微分方程数值解等,是现代科学技术发展中不可或缺的一部分。
数值分析方法的基本思想是将连续的数学问题转化为离散的数值计算问题,通
过适当的数值计算方法来求得问题的近似解。在实际应用中,许多复杂的数学问题往往无法通过解析方法求得精确解,这时就需要借助数值分析方法来进行近似计算。例如,在工程设计中,通过有限元分析方法可以对结构的受力情况进行数值模拟,帮助工程师优化设计方案;在经济金融领域,数值方法可以用来对复杂的金融衍生品进行定价和风险管理。
数值分析方法的研究内容非常丰富,其中数值逼近是数值分析方法的基础之一。数值逼近是指用简单的数学函数来近似复杂的函数,常见的数值逼近方法包括插值、拟合和最小二乘逼近。通过数值逼近,可以将连续函数转化为离散的数据点,从而方便进行数值计算和分析。
另一个重要的研究内容是数值积分,数值积分是对定积分的数值近似计算。在
实际问题中,很多函数的积分并不能通过解析方法求得,这时就需要借助数值积分方法来进行近似计算。常见的数值积分方法包括梯形法则、辛普森法则和龙贝格积分法等,这些方法在科学计算和工程设计中都有着广泛的应用。
此外,常微分方程数值解和偏微分方程数值解也是数值分析方法的重要研究内容。在物理、生物、工程等领域中,许多实际问题都可以用微分方程来描述,通过数值方法可以对这些微分方程进行数值求解,得到问题的近似解。常微分方程数值解方法包括欧拉法、龙格-库塔法等,而偏微分方程数值解方法包括有限差分法、
数值分析方法
数值分析方法
数值分析方法是一种利用数值计算来解决数学问题的方法。它主要应用于工程、科学和其他领域中的实际问题,例如求解微分方程、插值、逼近、线性代数问题等。数值分析方法的主要目标是通过数值计算来获得数学问题的近似解,因为很多实际问题并没有精确的解析解。在本文中,我们将介绍数值分析方法的基本原理和常用技术,以及其在实际问题中的应用。
数值分析方法的基本原理是将连续的数学问题转化为离散的数值计算问题。在
实际应用中,我们通常会遇到无法通过解析方法求解的复杂问题,这时就需要借助数值分析方法来进行求解。数值分析方法的主要步骤包括建立数学模型、离散化、选择适当的数值计算方法、计算和分析结果。在建立数学模型时,我们需要将实际问题抽象为数学问题,并选择合适的数学方程描述。离散化是将连续的数学问题转化为离散的数值计算问题,通常包括网格化、时间步长等处理。选择适当的数值计算方法是数值分析方法中非常重要的一步,常用的数值计算方法包括有限差分法、有限元法、数值积分法等。最后,我们需要进行数值计算,并对结果进行分析和验证。
数值分析方法在实际问题中有着广泛的应用。在工程领域,数值分析方法被广
泛应用于结构分析、流体力学、热传导等问题的求解。在科学领域,数值分析方法被用于模拟天体运动、地球物理问题、量子力学等领域。另外,在金融领域,数值分析方法也被用于期权定价、风险管理等问题的求解。可以说,数值分析方法已经成为现代科学技术发展中不可或缺的工具之一。
总之,数值分析方法是一种通过数值计算来解决数学问题的方法,它的基本原
数值分析第五章线性方程组直接解法
b ( k 1) i
b(k) i
mik bk( k )
( i = k+1, …, n )
依此类推,直到第 n-1 步,原方程化为
a(1) 11
a(1) 12
a(2) 22
a(1) 1n
a(2) 2n
x1
x2
b(1) 1
b(2) 2
a(n) nn
xn
b(n) n
回代求解:
xn
i 1
比较等式两边的第 k 列得:
( j = k, …, n )
lik aik li1u1k
i 1
l u i,k1 k1,k ukk aik lijujk ukk
j 1
( i = k+1, …, n )
直到第 n 步,便可求出矩阵 L 和 U 的所有元素。
25
LU 分解算法
算法 :(LU 分解 )
比较等式两边的第二列得:li2 ai2 li1u12 u22 ( iL=的3,第…二, n列)
24
计算 LU 分解
第 k 步:此时 U 的前 k-1 行和 L 的前 k-1 列已经求出
比较等式两边的第 k 行得:
ukj akj lk1u1 j
k 1
l u k,k1 k1, j akj lkiuij
(i 2, ..., n)
依次将增广矩阵的 第 i 行 + mi1 第 1 行,得
数值分析1 直接法
非线性方程与非线性方程组解法
“方程是很多工程和科学工作的发动机”。在工程和科学计算中,如电路和电力系统计算、非线性力学、非线性微分和积分方程、非线性规划等众多领域中,常涉及到非线性方程或非线性方程组的求解问题。
【例如】求代数方程 0842362
5
6
=--++x x x x 的根。 【如】求解方程组
⎩
⎨
⎧-=+=y x y y
x x sin 2.0cos 7.0cos 2.0sin 7.0 诸如此类的问题,归结为寻求函数方程的零点,即求x*使
0*)(≡x f (1)
x*称为方程或方程组(f 为向量函数时)的根或零点。
由于自然现象和实际问题的复杂性,对函数方程和方程组求解问题,没有哪一种方法能求出一般方程的准确解。因此,求其数值解就非常必要了。
先讨论非线性方程求根问题。
§1直接法
直接法的理论依据:设f(x)在区间[a,b]上连续,且f(a)
•f(b)<0,根据连续函数的性质,f(x)在[a,b]内一定有根存在。此时称[a,b]为方程f(x)=0的有根区间。进而,若再加上严格单调,则[a,b]内
一、逐步搜索法----确定有根区间
设f(x)在[a,b]内连续,为求其实单根存在区间,取一点0x (如0x =a ),并取一确定的正数h ,称为步长,令kh x x k ±=0,观察)(k x f 的符号变化情况,当0)()(1<⋅+k k x f x f 时,[1,+k k x x ] 便是一个有根区间,称上述逐步确定有根区间的方法为逐步搜索法。这种方法的计算量,与步长的选取相关,步长h 选取的足够小,就可使有根区间足够精确,当然计算量也较大。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非线性方程与非线性方程组解法
“方程是很多工程和科学工作的发动机”。在工程和科学计算中,如电路和电力系统计算、非线性力学、非线性微分和积分方程、非线性规划等众多领域中,常涉及到非线性方程或非线性方程组的求解问题。
【例如】求代数方程 0842362
5
6
=--++x x x x 的根。 【如】求解方程组
⎩
⎨
⎧-=+=y x y y
x x sin 2.0cos 7.0cos 2.0sin 7.0 诸如此类的问题,归结为寻求函数方程的零点,即求x*使
0*)(≡x f (1)
x*称为方程或方程组(f 为向量函数时)的根或零点。
由于自然现象和实际问题的复杂性,对函数方程和方程组求解问题,没有哪一种方法能求出一般方程的准确解。因此,求其数值解就非常必要了。
先讨论非线性方程求根问题。
§1直接法
直接法的理论依据:设f(x)在区间[a,b]上连续,且f(a)
•f(b)<0,根据连续函数的性质,f(x)在[a,b]内一定有根存在。此时称[a,b]为方程f(x)=0的有根区间。进而,若再加上严格单调,则[a,b]内
一、逐步搜索法----确定有根区间
设f(x)在[a,b]内连续,为求其实单根存在区间,取一点0x (如0x =a ),并取一确定的正数h ,称为步长,令kh x x k ±=0,观察)(k x f 的符号变化情况,当0)()(1<⋅+k k x f x f 时,[1,+k k x x ] 便是一个有根区间,称上述逐步确定有根区间的方法为逐步搜索法。这种方法的计算量,与步长的选取相关,步长h 选取的足够小,就可使有根区间足够精确,当然计算量也较大。
逐步搜索法适用于粗略地估计根的计算问题,一般此方法只用来隔离
01)1(3463)(22>+-=+-='x x x x f
所以f(x)为单调增加函数,则f(x)=0在(-∞,+∞)内最多只有一个实根. 又因为f(x)<0,f(2)>0,所以方程的唯一实根在[0,2]内,[0,2]就是所求的
,即要证f(x)与ox 轴有3个交点,只须证明有3个有根区间,且每个区间内只有一个根。
Matlab 中有根区间的确定:
x=-5:0.01:5;y=exp(x)-3*x.^2;plot(x,y,'r',x,0*x),grid on
title('The Image of f(x)=exp(x)-3*x.^2') xlabel('\fontsize {12} \fontname {宋体} 图1') %axis square
二、二分法
理论依据:设函数f(x)在[a,b]上连续,严格单调,且有f(a)﹒
f(b)<0。
二分法的基本思想:反复对分区间,从而逐步缩小有根区间
步骤:取[a,b]的中点2b
a x +=
,计算)(x f , 若)(x f =0则2
b a x x +==*为所求;否则(1)若0)()(<⋅x f a f ,则令b a a ==11,
(2)若0)()(>⋅b f x f ,则令,,11b b x a ==
形成新的有根区间],[11b a 。对],[11b a 重复上述手续,则又可得
],[22b a 。
如此反复二分下去,得到一系列有根区间:
],[],[],[2211b a b a b a ⊃⊃],[k k b a ⊃⊃ ⊃
其中每个区间长度都是前一个区间长的一半,因此,],[k k b a 的长度
k k k a b a b 2/)(-=-趋于零(当∞→k 时)
【注】由区间套原理,必有*
x 属于所有区间,该点就是方程之根。 序列
}}{{k k b a 及中点2
k k k b a x +=
的序列}{k x 都收敛于*
x 。 终止条件:ε<-=-≤-+*1
2/)(2/)(k k k k a b a b x x (2)
),3,2(,023)(2∈>-='x x x f 因此方程有唯一的根落在(2,3)内。
2)二分次数的确定: 由 005.02/)(1
<-+k a b 得7≥k 即005.07≤-*x x
3)二分步骤:
取21
223=-=
x ,则0625.5)5.2(>=f ,因此根在(2,2.5)内, 再取25.02
2
5.2=-=x ,890625.1)25.2(=f ,因此根在(2,2.5)内,如此二分下去,得
取第7次二分的中点x=(2.09375+2.1015625)/2=2.10 二分法的计算机算法程序: %Erfen.m
function y=refen(fun,a,b,esp) if nargin<4 esp=1e-4;end
if feval(fun,a)*feval(fun,b)<0 n=1;x=(a+b)/2;
while abs(b-a)/2>esp %or x>esp if feval(fun,a)*feval(fun,x)<0 b=x;x=(a+b)/2;
elseif feval(fun,x)*feval(fun,b)<0 a=x;x=(a+b)/2; else y=x;esp=10000; end n,a,b %output n,a,b n=n+1; end y=c;
elseif feval(fun,a)==0 y=a;
elseif feval(fun,b)==0 y=b;
else disp('these,may not be a root in the interval'); end n
调用二分法函数求方程的根: erfen('fun',2,3,0.005)
二分法的优点:算法直观、简单,且总能保证收敛;
缺点:收敛速度较慢。
三、黄金分割法
在二分法中,每次将有根区间[a,b]对分,从而经判断将有根区间缩减一半,达到了逐步缩小有根区间的目的。
黄金分割法的基本思想:如果在[a,b]内适当插入两点,21x x 和,而把有根区间分为三段,通过比较函数值,来缩短有根区间。
问题:如何设置两个插入点的位置,使得在计算同样多函数值的条件下,有根区间能更快缩短?
问题的解决:希望根存在区间的长度按比例β缩小(0<β<1),因此可对称地取)(),)(1(21a b a x a b a x -+=--+=ββ,若设[a,b]的长为1个单位,而且],[],[21b x x a 和的长度相等,即b x ax 21=,若使每次搜索都按同一比率缩短区间,则要