非线性方程的数值计算方法实验

更新时间:2024-05-30 12:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数值方法》实验报告

1

非线性方程的数值计算方法实验

【摘要】在利用数学工具研究社会现象和自然现象,或解决工程技术等问题

?0的求解问题,时,很多问题都可以归结为非线性方程f(x)无论在理论研究方

面还是在实际应用中,求解非线性方程都占了非常重要的地位。综合当前各类非线性方程的数值解法,通过比较分析,二分法,迭代法,牛顿—拉夫森方法,迭代法的收敛阶和加速收敛方法,以上的算法应用对某个具体实际问题选择相应的数值解法。

关 键 词 非线性方程;二分法;迭代法;牛顿-拉夫森法;割线法等。

一、实验目的

通过本实验的学习,应掌握非线性方程的数值解法的基本思想和原理,深刻认识现实中非线性方程数值的意义;明确代数精度的概念;掌握二分法、不动点迭代法、牛顿迭代法、割线法等常用的解非线性方程的方法;培养编程与上机调试能力。

二、实验原理

二分法:单变量函数方程: f(x)=0

其中,f(x)在闭区间[a,b]上连续、单调,且f(a)*f(b)<0,则有函数的介值定理可知,方程f(x)=0在(a,b)区间内有且只有一个解x*,二分法是通过函数在区间端点的符号来确定x*所在区域,将有根区间缩小到充分小,从而可以求出满足给定精度的根x*的近似值。 下面研究二分法的几何意义:

设a1=1, b1=b, 区间?a1,b1?,中点x1=

a1?b1及f?x1?,若f?x1?=0,则x*=x1,2若 f(a1)*f(x1)<0,令a2=a1,b2=x1,则根x*? [a2,b2]中,这样就得到长度缩小一半的有根区间[a2,b2],若 f(b1)*f(x1)<0,令a2=x1,b2=b1,则根x*? [a2,b2]中,这样就得到长度缩小一半的有根区间[a2,b2],即f(a2)f(b2)<0,此时b2-a2=

b1?a1,对有根区间[a2,b2]重复上述步骤,即分半求中点,判断中2电处符号,则可得长度有缩小一半的有根区间[a2,b2],

《数值方法》实验报告

2

如图所示:

重复上述过程,第n步就得到根x*的近似序列?xn?及包含x*的区间套,如下: (1)[a1,b1]?[a2,b2]?....[an,bn]?... (2)f(an)f(bn)?0,x*?[an,bn] (3)an-bn=1=…=2(an?1?bn?1)(4) xn?b?a 2n?1an?bnb?a,且|x*-xn|?n?1 (n=1,2,3…..) 22显然limxn,且xn以等比数列的收敛速度收敛于x*,因此用二分法求f(x)=0的实根x*可以达到任意指定精度。

(二)迭代法:对给定的方程给定初值

,由此来构造迭代序列

,有

,则

就是方程

,将它转达换成等价形式:

,如果迭代法收敛,即

的根。在计算中当

小于给定的精度控制量时,取为方程的根。

《数值方法》实验报告

3

(三)牛顿迭代法:设方程f(x)=0在其根x*的某个领域U(x*,?)内有一阶连续导数,且f’(x*) ≠0。求f(x)=0的根x*,首先要将f(x)=0转化为等价形式x??(x),并使? (x)满足不动点迭代的一般理论。

于是我们令? (x)=x+h(x)f(x),可由? ‘(x1)=0来确定h(x)的结构,根据?’(x)=1+h’(x*)f(x*)+h(x*)f’(x1)=1+h(x*)f’(x*)=0可得

h(x*)=-1/f’(x*) ,由于f’(x) ≠0,且f’(x) 连续,因此当h(x)=-1/f’(x) 时, h’(x1)=0,即令? (x)=x-f(x)/f‘(x), 从而有迭代格式 xk?1 = xk?f(xk) (k=0,1,2,…..) f'(xk)由于x1, x2, x3…….都在U领域里,从而当B比较小时,可用f’(x0)可近似代替f’(xk),xk?1= xk-

(四)割线法:设xk,xk?1为方程f(x)=0的两个近似根。用差商得:f(xk)-f(xk?1)/

f(xk)

,此方法称为牛顿迭代法。 f(x0)

xk- xk?1,代替牛顿迭代公式中的导数f’(xk),于是得到如下的迭代公式: xk?1=xk-f(xk)(xk?xk?1)。

f(xk)?f(xk?1)

下面研究割线法的几何意义:

经过点(xk,f(xk))及点(xk?1,f(xk?1))两点作割线,其点斜式方程为: Y=f(xk)-

f(xk)?f(xk?1)f(xk)(x?xk),其零点为X=xk- (xk?xk?1)xk?xk?1f(xk)?f(xk?1)把X用xk?1表示即得到迭代格式,需要两个初值此割线与 X 轴交点的横坐标就是新的近似值xk?1,如图所示。

《数值方法》实验报告

4

三、实验内容

(一)、实验描述

1.P40.1:参照程序2.1求解出单调收敛的不动点。

2.P49.1:已知初值,时间和末值,求解汇率。 4.P69.1:已知运动方程求解运动时间和距离。

(二)、实验题目

1.使用程序2.1求解下面每个函数的不动点(尽肯能多)近似值,答案精确到 小数点后12位。同时,构造每个函数的图和直线y=x来显示所有不动点。

(d)g(x)?xx?cos(x)

2.如果在240个月内每月付款300美元,求解满足全部现金A为500000美元的 汇率I的近似值(精确到小数点后10位)。

4.设投射方的运动程为

y?f(t)?9600(1?e?t/15)?480tx?r(t)?2400(1?e?t/15)

(a) 求当撞击地面时经过的时间,精确到小数点后10位。

《数值方法》实验报告

5

(b) 求水平飞行行程,精确到小数点后10位。

四、实验结果及分析

1. P40.1(d): 算法:

(1)输入函数g,p0,tol,max1,令k=2。

(2)判断k>max1是否成立,如成立输出结果,如不成立,执行(3)。 (3)令p(k)=g(p(k-1)),err=|p(k)-p(k-1)|。

(4)判断err

到(2)。

end output k=k+1 Y errmax1 Y Input g,p0,tol;k=2 star

本文来源:https://www.bwwdw.com/article/bm96.html

Top