数学非线性方程求解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
❖ 计算中通过对分区间,逐步缩小区间范围的步骤 搜索零点的位置。
❖ 如果我们所要求解的方程从物理意义上来讲确实 存在实根,但又不满足f(a) f(b)<0,这时,我们必须
通过改变a和b的值来满足二分法的应用条件。
2.2.2 对分法求根算法
计算f (x) =0的一般计算步骤如下:
1、输入求根区间[a,b]和误差控制量ε,定义函 数f(x)。 2、判断: 如果f(a)f(b)<0则转下,否则,重新输 入a 和 b的值。 3、计算中点 x=(a+b)/2以及f(x)的值
GoTo 100 Else
Print "please repeat input x1 and x2"
GoTo 80 End If 100 x = (x1 + x2) / 2 y = f(x) If Abs(y) <= 0.001 Then
Print "the function root is "; x Print "y="; y
2.2.2 对分法求根算法
分情况处理
(1)|f(x)|<ε:停止计算 x*= x,转向步骤4 (2)f(a)f(x)<0:修正区间[a,x]→[a,b],重复3 (3)f(x)f(b)<0:修正区间[x,b]→[a,b],重复3
4、输出近似根 x*。 右图给出对分法的示意图。
x3 = (x0+ x2) / 2
❖ 而对于具体的化工问题,初值和求解范 围常常可根据具体的化工知识来决定。
2.1 化工实际问题的提出
❖常见的雷诺数和摩擦系数关系方程在雷 诺数低于4000时有以下关系式:
1
0.5
1.74
2
lg
2
di
i
18.7
Re
0.5
2.1 化工实际问题的提出
这是一个典型的非线性方程。我们在管路设计中经 常碰到。
2.1 化工实际问题的提出
❖对于这个问题的求解,可利用我们下面介绍的 牛顿迭代法进行计算,也可利用其他迭代公式进 行计算,如采用牛顿迭代公式,则可以得到如下 的具体迭代公式:
m zi (1 ki )
an1 an
i 1 m
ki an zi (1 ki )
i1 (ki an )
(2-4)
2.1 化工实际问题的提出
须解决的一个问题。
☺与线性方程相比,非线性方程问题无论是从
理论上还是从计算公式上,都要比线性方程复 杂的多
对于一般的非线性f(x)=0,计算方程的根既
无一定章程可循也无直接方法可言。
2.1 化工实际问题的提出
例如,求解高次方程组7x6-x3+x-1.5 = 0的根,
求解含有指数和正弦函数的超越方程ex-sin(x) = 0的零点。
p
A
B T
C
lnT
Dp T2
(2-5)
☺因为公式(2-5)两边都有未知变量,并且无法用解 析的方法求解,必须用数值计算的方法求解。
☺ 通过上面的一些例子,我们可以发现,如果没有适 当的手段和办法来求解非线性方程,那么化学化工中 的许多研究、设计等工作将无法展开,这势必影响化 学化工的发展,下面我们将介绍一些实用的非线性方 程求解方法,并提供计算机程序。
❖ 饱和蒸气压是我们经常要用到的数据,虽然 我们可以通过实验测量来获取饱和蒸气压的数 据。
❖ 我们通常利用前人已经测量得到的数据或回 归的公式来获取,这可以减轻我们大量的基础 实验工作。
❖公式(2-5)是一种常用的饱和蒸气压计算公 式:
ln
p
A
B T
C
Βιβλιοθήκη Baidu
ln T
Dp T2
2.1 化工实际问题的提出
ln
x0
x3
x2
x1
x2= (x0+ x1)/2
2.2.3 对分法VB程序清单
Private Sub Command1_Click() Dim x1, x2, x, y1, y2, y, eer 80 x1 = InputBox("x1") x2 = InputBox("x2") y1 = f(x1) y2 = f(x2) If y1 * y2 < 0 Then
解非线性方程或非线性方程组也是计算方法
中的一个主题。
一般地,我们用符号f(x)来表示方程左端的函
数,方程的一般形式表示为f(x)= 0,方程的 解称为方程的根或函数的零点。
2.1 化工实际问题的提出
❖ 通常,非线性方程的根不止一个,而任 何一种方法只能算出一个根。
❖ 因此,在求解非线性方程时,要给定初 始值或求解范围。
❖当我们已知雷诺数Re,如何根据公式(2-1)求出摩擦 系数λ,这是我们在管路设计中必须首先解决的问题。
❖ 对于方程(2-1)而言,无法用解析的方法求出摩擦系 数,只能用数值求解的方法。如用在下面即将介绍的松 弛迭代法,假设:
x
1
0.5
,
2εi di
0.1, Re 3800,
x0 0, 0.5
第2章 非线性方程求解
2.1 化工实际问题的提出 2.2 实根的对分法 2.3 直接迭代法 2.4 松弛迭代法 2.5 韦格斯坦法 2.6 牛顿迭代法 2.7 割线法 2.8 非线性方程组的牛顿方法 2.9 化工生产中非线性方程组求解应用实例
2.1 化工实际问题的提出
☺求解非线性方程是化工设计及模拟计算中必
n
i 1
zi (1 ki )
ki
0
2.1 化工实际问题的提出
n
i 1
zi (1 ki
ki
)
0
(2-3 )
❖ 在方程(2-3)中只有α是未知数,ki为相平衡常 数,zi为进料组分的摩尔浓度,均为已知数。 ❖ 方程(2-3)也无法直接解析求解,必须利用数 值的方法。
❖ 借助于计算机方可精确的计算。
2.2 实根的对分法
❖ 2.2.1 使用对分法的条件 ❖ 2.2.2 对分法求根算法 ❖ 2.2.3 对分法VB程序清单
2.2.1 使用对分法的条件
❖ 对分法或称二分法是求方程近似解的一种简单直观 的方法。
❖ 设函数 f(x) 在[a, b]上连续,且 f(a) f(b)<0,则f(x) 在[a, b]上至少有一零点,这是微积分中的介值定理, 也是使用对分法的前提条件。
则利用松弛迭代公式可得:
x( k 1)
0.5 x( k )
0.5 (1.74
2lg
0.1
18.7 5000
xk
,k
1,
2,L
L
L
2.1 化工实际问题的提出
经11次迭代可得摩擦系数为0.07593。
❖同样,在n个组分的等温闪蒸计算中,通过 物料和相平衡计算,我们可得到如下非线性 方程(2-3 ) :
相关文档
最新文档