首页 > 范文大全 > 正文

Excel在实现数值计算中的应用研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇Excel在实现数值计算中的应用研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:介绍了excel在数学数值计算中的应用,对利用Excel实现一元非线性方程求根方法数值分析中的一些典型算法进行了研究。这些方法能够解决数学计算繁琐等问题,从而提高解题效率,具有很好的实际应用价值。但这些操作方法只能解决数值计算中的一般情况,解决比较复杂的非线性方程数值计算情况还需进一步深入研究。

关键词:Excel;数值计算;一元非线性方程

中图分类号:TP301文献标识码:A文章编号:16727800(2013)004004702

作者简介:徐清泉(1975-),男,兰州外语职业学院讲师、工程师,研究方向为数据库应用技术、计算机应用基础。

0引言

实现一元非线性方程求根是数值计算的常见问题之一,常用的一元非线性方程求根方法分为区间法和迭代法两大类。用Excel做求解一元非线性方程数值计算,不需要进行复杂编程设计,只需学会使用Excel做成“模板”,套用数学计算公式,充分利用计算机的计算功能,输入初始参数,计算机处理后自动生成结果,在屏幕上直接显示出结果。本文介绍用Excel实现一元非线性方程求根数值分析中的一些典型算法。

1求一元非线性方程的根

常用的一元非线性方程求根方法分为区间法和迭代法两大类。

1.1二分法

区间法中最直观最简单的方法是二分法。二分法就是将方程的有根区间对分,然后再选择比原区间缩小一半的有根区间,如此继续下去,直到得到满足精度要求的根为止的一种简单的区间方法。

例1,用二分法求方程2x\+3-5x-1=0在区间(1,2)内的实根,要求误差限小于或等于0.01。

①在B1和B2单元格中分别输入有根区间的边界值1和2;②在B3单元格中输入公式:=(B1+B2)/2;③在B4单元格中输入公式:=IF(C3*D3

则B10单元格中的值为所求的根。

1.2迭代法

用迭代法求解一元非线性方程f(x)=0的做法是:先将方程改写成“隐式”形式x=F(x),然后构造成迭代公式x\-\{k+1\}=F(x\-k)求解。

注意:将方程改写成“隐式”形式时,形式不是唯一的,其收敛性也不同。

例2,用迭代法求解方程

x-lnx=2(x>1)

要求相对误差小于10\+\{-8\}。

解:容易确定唯一有根区间为\[3,4\]。将原方程改为隐式方程:x=2+lnx,并构造成迭代公式:x\-\{k+1\}=2+ln(x\-k)。取初值x\-0=3,Excel实现步骤为:

①在B2单元格输入初值3;②在B3单元格输入迭代公式:=2+ln(B2);③在C3单元格输入精度公式:=(ABS(B3-B2)/ABS(B3))

则B17为所求的根(为节省篇幅,图中部分过程隐藏了)。

1.3Newton迭代法

对于一元非线性方程f(x)=0,如果当f′(x\-k)≠0 (k=0,1,……),其Newton迭代公式是:

x\-\{k+1\}=x\-k-[SX(]f(x\-k)[]f′(x\-k)[SX)]

这个迭代公式在Excel中实现方法如下:①在任一单元格中输入初值x\-0;②在任一单元格中输入迭代公式;③选中公式所在单元格并向下拖动到合适位置;④最后一个单元格中的值为所求方程的根。

例3,求方程xe\+x-1=0的根。

首先构造Newton迭代格式。由原方程构造函数:f(x)=xe\+x-1,求出函数f(x)的一阶导数:f’ (x)=e\+x+xe\+x,代入Newton迭代公式并整理得迭代格式如下:

x\-\{k+1\}=x\-k-[SX(]x\-k-e\+\{-xk\}[]1+x\-k[SX)]

因为f(0)0,不失一般性,取初值x\-0=0.5,误差控制采用|x\-i-x\-\{i-1\}|

Excel实现步骤为:①在B2单元格中输入初值0.5;②在B3单元格中输入迭代公式:=B2-(B2-EXP(-B2))/(1+B2);③在C3单元格中输入精度公式:=ABS(B3-B2)

则B5单元格中的值为所求方程的根。

1.4Aitken加速方案

对某种迭代过程x\-\{k+1\}=φ(x\-k)的Aitken加速方案是:

[JB({]迭代:x\-\{k+1\}=φ(x\-k)再迭代:x\-\{k+2\}=φ(x\-\{k+1\})加速:X\-k=x\-\{k+2\}-(x\-\{k+2\}-x\-\{k+1\})^2/(x\-\{k+2\}-2x\-\{k+1\}+x\-k)[JB)]

例4,用Aitken加速方案求方程x\+3+4x\+2-10=0在区间内的实根,要求误差限小于或等于0.001。

解:使用迭代格式φ(x)=[KF(]10-x\+3[KF)]/2构造Aitken加速方案求解,步骤如下:

(1)用迭代法。①在B2单元格中输入初值1.5;②在B3单元格中输入迭代公式:=SQRT(10-B2^3)/2;③在C3单元格中输入精度公式:=ABS(B3-B2)

则B12单元格中的值为所求方程的根。

(2)用Aitken加速方案。①在D3单元格中输入迭代公式:=B3-(B3-B2)^2/(B3-2*B2+B34);②在E3单元格中输入精度公式:=ABS(D3-D2)

1.5Steffensen迭代法

对某种迭代过程x\-\{k+1\}=φ(x\-k)的Steffensen迭代法是:

[JB({]迭代:y\-k=φ(x\-k)再迭代:z\-k=φ(y\-k)

加速:x\-\{k+1\}=x\-k-(yx\-k- x\-k)^2/(z\-k-2y\-k+ x\-k) (k=0,1,…) [JB)]

例5,用Steffensen迭代法求方程x\+3-x\+2-x-1=0在区间内的实根,要求误差限小于或等于0.001。

解:使用迭代格式φ(x)=1+1/x+1/x*x,构造Steffensen迭代法求解,步骤如下:

(1)用迭代法:①在B3单元格中输入初值2;②在B4单元格中输入迭代公式:=1+1/B3+1/(B3*B3);③在C4单元格中输入精度公式:=ABS(B4-B3)

则B16单元格中的值为所求方程的根。

(2)用Steffensen迭代法:①在D4单元格中输入迭代公式:=D3-(E4-D3)^2/(F4-2*E4+D3);②在E4单元格中输入迭代公式:=1+1/D3+1/(D3*D3);③在F4单元格中输入迭代公式:=1+1/E4+1/(E4*E4);④在G4单元格中输入精度公式:=ABS(D4-D3)

2结语

本文根据常用的一元非线性方程求根方法区间法和迭代法两大类进行对比分析,通过典型实例,介绍了用Excel求解一元非线性方程根的数值计算分析中的一些典型算法和操作方法。实践证明此方法操作简单,而且效果较好,对于更多一元非线性方程也可以按照以上Excel实例“模板”求根求解。用Excel做求解一元非线性方程