教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 论文> 其他论文> 二分法求解单变量非线性方程及其应用与实现

二分法求解单变量非线性方程及其应用与实现

上传者:网友
|
翻新时间:2013-12-18

二分法求解单变量非线性方程及其应用与实现

论文关键词:二分法 单变量 非线性方程 收敛性 误差

论文摘要:本文主要通过一个实例来研究单变量非线性方程f(x)=0的二分法求解及此方法的收敛性,根据误差估计确定二分次数并进行求解。同时实现matlab和C语言程序编写。从而掌握过程的基本形式和二分法的基本思想,在以后的学习过程中得以应用。

1. 引 言

在科学研究与工程技术中常会遇到求解非线性方程f(x)=0的问题。而方程f(x)是多项式或超越函数又分为代数方程或超越方程。对于不高于四次的代数方程已有求根公式,而高于四次的代数方程则无精确的求根公式,至于超越方程就更无法求其精确解了。因此,如何求得满足一定精度要求的方程的近似根也就成为了我们迫切需要解决的问题。近年来,随着数学科学研究的不断进展,又更新了许多方程求解的方法。我们知道,对于单变量非线性方程f(x)=0,一般都可采用迭代法求根,由此产生了二分法。

2. 二分法

一般地,对于函数f(x),如果存在实数c,当x=c时f(c)=0,那么把x=c叫做函数f(x)的零点。

解方程即要求f(x)的所有零点。

先找到a、b,使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2], 现在假设f(a)<0,f(b)>0,a<b

①如果f[(a+b)/2]=0,该点就是零点,

如果f[(a+b)/2]<0,则在区间((a+b)/2,b)内有零点,(a+b)/2=>a,从①开始继续使用中点函数值判断。

如果f[(a+b)/2]>0,则在区间(a,(a+b)/

2)内有零点,(a+b)/2=>b,从①开始继续使用中点函数值判断。

这样就可以不断接近零点。

通过每次把f(x)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,这种方法叫做二分法。

给定精确度ξ,用二分法求函数f(x)零点近似值的步骤如下:

1. 确定区间[a,b],验证f(a)·f(b)<0,给定精确度ξ.

2. 求区间(a,b)的中点c.

3. 计算f(c).

(1) 若f(c)=0,则c就是函数的零点;

(2) 若f(a)·f(c)<0,则令b=c;

(3) 若f(c)·f(b)<0,则令a=c.

4. 判断是否达到精确度ξ:即若┃a-b┃<ξ,则得到零点近似值a(或b),否则重复2-4.

由于计算过程的具体运算复杂,但每一步的方式相同,所以可通过编写程序来运算。

3. 实例引入

二分法求解单变量非线性方程的例子很多,仅以此例进行分析: 4. 问题分析

对于以上单变量非线性方程,已知a=1.0,b=1.5,采用二分法求解。首先我们根据二分法所允许的误差范围求得应迭代次数。

二分法允许的误差公式:|x*- | ( - )/2=(b-a)/ 0.005,

其中k为二分次数。

所以求得本题应二分6次达到预定的精度。

5. 解题过程 K/二分次数 /区间

左边界值 /右边界值 F( )的符号

0

1

2

3

4

5

61.0 1.3125 1.375

1.3438 1.375 1.3438 1.3203 +

+

+

6. 基本二分法的matlab实现与C语言实现

6.1 %二分法的算法及MATLAB实现

function [c, err, yc] = bisect(f, a, b, delta)

% f 是所要求解的函数

% a 和 b 分别是有根区间的左右限

% delta 是允许的误差界

% c 为所求的近似解

% yc 为函数 f 在 c 上的值

% err 是 c 的误差估计

if nargin < 4

delta = 1e -5;

end

ya = feval (’f’, a);

yb = feval (’f’, b);

if yb == 0, c = b, return

end

if ya * yb > 0

disp(’(a, b)不是有根区间’);

return

end for k = 1:max1

c = (a + b)/2;

yc = fevel(’f’, c);

if yc == 0 a = c; b = c; break,

elseif yb * yc > 0

b = c; yb = yc;

else

a = c; ya = c;

end

if (b - a) < delta, break

end

end

k, c = (a + b)/2, err = abs(b - a), yc = feval(‘f’, c)

6.2 %基本二分法的C语言实现

方程式为:f(x) = 0,示例中f(x) = 1+x-x^3

使用示例: solution: 1.32472

源码如下:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <assert.h>

double f(double x)

{

return 1+x-x*x*x;

}

int main()

{

double a = 0, b = 0, e = 1e-5;

printf("input a b e: ");

scanf("%lf%lf%lf", &a, &b, &e);

e = fabs(e);

if (fabs(f(a)) <= e)

{

printf("solution: %lgn", a);

}

else if (fabs(f(b)) <= e)

{

printf("solution: %lgn", b);

}

else if (f(a)*f(b) > 0)

{

printf("f(%lg)*f(%lg) > 0 ! need <= 0 !n", a, b);

}

else

{

while (fabs(b-a) > e)

{

double c = (a+b)/2.0;

if (f(a)* f ( c ) < 0)

b = c;

else

a = c;

}

printf("solution: %lgn", (a+b)/2.0);

}

return 0;

}

7.方法总结

7.1二分法解题的基本步骤:

1)计算f(x)的有根区间[a,b]端点处的值f(a),f(b)。

2)计算f(x)的区间中点的值f((a+b)/2)。

3)进行函数值的符号比较。

4)根据误差估计二分到一定次数达到精度,从而求得近似值。

7.2二分法的优缺点:

优点:算法简单,容易理解,且总是收敛的

缺点:收敛速度太慢,浪费时间

所以,在以后的学习过程中,我们将根据方程的形式和二分法的优缺点不单独将其用于求根,只用其为根求得一个较好的近似值,方便其他方法的运算。

8. 结 论

(1)针对现实中的许多剖面设计、轨道设计等关键参数方程中三角函数多、计算工作量较大、迭代收敛条件强等问题,采取数学变化的方法将该方程转化成一个只包含对数函数和多项式函数的新方程,并提出了寻找求解区间的步长搜索算法和自适应步长搜索算法,进而使用二分法求新方程的数值解。

(2)数学分析和数值实践表明,该算法不仅能够正确判断设计方程是否有解,而且在有解的情况下能够正确求出该解,计算量小,计算过程稳定。

参考文献 【2】许小勇,宋昔芳; 一种求解非线性方程全部实根的算法与实现 [J];科技广场;2007年01期; 15-17

【3】王兴华,郭学萍; 二分法及其各种变形收敛性的统一判定法则 [J];高等学校计算数学学报; 1999年04期

【4】苗慧; 解非线性方程的若干算法的收敛性分析 [D];浙江大学; 2006年

【5】李晓霞; 关于若干迭代算法的收敛性分析 [D];浙江大学; 2002年

【6】李庆扬,王能超,易大义;数值分析第4版 TUP 清华大学; 2001年5月

下载文档

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

网友最新关注

暮春
“愿望树”
外婆饮上了自来水
獻給白衣天使的讚歌
一场有趣的球赛
宇宙奇遇记
那年,我4岁
我爱读书
假币问题
时光老人的礼物
未来的百变电话机器人
我心中的乐园
玩具兵大战
难忘的一位老师
走进夏天
论哈尔滨市道路运输业结构调整的初步设想(1)论文
浅析高速公路水泥砼路面平整度的施工控制(1)论文
探析高速公路施工中的工程质量管理问题(1)论文
关于高速公路养护的一点体会(1)论文
对长三角道路运输稽查一体化分析(1)论文
探析道路与桥梁的超限运输(1)论文
浅论加强高速公路路政管理的现实意义(1)论文
浅析我国目前交通工程的现状与改进措施(1)论文
探析高速公路高路堤边坡加固治理措施(1)论文
辽宁省道路运输行业发展评价指标体系研究(1)论文
谈我国道路运输信息化管理的现状(1)论文
关于高速公路路堤下复合地基理论的几点探究(1)论文
探析我国道路运输行政管理机构性质定位(1)论文
谈做好道路运输安全管理工作的思考(1)论文
有关道路运输车辆强制维护制度的讨论(1)论文
《北京》第二课时网络课教学设计
《北京》第一课时教学设计
《欢庆》第一课时教学设计
《难忘的一天》第二课时教学设计
《北京》教学设计
《欢庆》教学案例
《北京》教学设计
《一分钟》教学设计
《难忘的一天》教学设计
《一分钟》探究活动
《一分钟》教学设计
《欢庆》探究活动
《北京》第二课时教学设计
《难忘的一天》探究活动
《欢庆》教学设计