数学实验报告样本_第1页
数学实验报告样本_第2页
数学实验报告样本_第3页
数学实验报告样本_第4页
数学实验报告样本_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数学实验报告实验序号: 3日期:2013 年 12 月14 日班级应数一班姓名 陈菲学号1101114209实验求代数方程的近似根名称问题背景描述:求代数方程f ( x)0 的根是最常见的数学问题之一,当 f ( x) 是一次多项式时, 称 f (x)0为线性方程,否则称之为非线性方程当 f (x)0是非线性方程时,由于 f (x) 的多样性,尚无一般的解析解法可使用,但如果对任意的精度要求,能求出方程的近似根,则可以认为求根的计算问题已经解决,至少能满足实际要求本实验介绍一些求方程实根的近似值的有效方法,要求在使用这些方法前先确定求根区间 a,b ,或给出某根的近似值 x0 实验目的:1.

2、了解代数方程求根求解的四种方法:对分法、迭代法、牛顿切线法2. 掌握对分法、迭代法、牛顿切线法求方程近似根的基本过程。实验原理与数学模型:1对分法对分法思想:将区域不断对分,判断根在某个分段内,再对该段对分,依此类推,直到满足精度为止对分法适用于求有根区间内的单实根或奇重实根设 f (x) 在 a, b 上连续, f (a) f (b)0 ,即 f (a)0 , f (b)0或 f (a)0 , f (b) 0 则根据连续函数的介值定理,在 ( a, b) 内至少存在一点,使 f ( )0下面的方法可以求出该根:x0ab令2 ,计算 f ( x0 ) ;若f ( x0 ) 0,则x0是f (

3、x) 0的根,停止计算,输出结果x x0若 f (a)f ( x0 )0 ,则令 a1a ,b1x0 ,若 f (a) f (x0 )0 ,则令 a1akbk,有 ak 、 bk 以及相应的xk2 f ( xk )xk(3) 若(为预先给定的精度要求 ),退出计算,输出结果反之,返回 (1),重复 (1),(2),(3)a1b1x0 ,b1bx12 ;akbk2 ;以上方法可得到每次缩小一半的区间序列 ak , bk ,在 ( ak ,bk ) 中含有方程的根akbk当区间长 bkak 很小时,取其中点xk2 为根的近似值,显然有xk111ak 1)1(b a)(bkak )(bk 1k 12

4、222以上公式可用于估计对分次数k 2. 迭代法迭代法的基本思想:由方程 f ( x)0 构造一个等价方程x( x)从某个近似根 x0 出发,令xk 1(xk ) , k 0,1,2,可得序列 xk ,这种方法称为迭代法若 xk收敛,即lim xkx*k,只要 (x) 连续,有lim xk 1lim ( xk )(lim xk )kkk即可知, xk 的极限 x*x*(x* )是 x( x)的根,也就是 f ( x) 0 的根当然,若 xk 发散,迭代法就失败迭代过程 xk 1(xk ) 收敛的常用判别标准:当根区间 a,b较小,且对某一x0 a, b,' ( x)明显小于 1 时,则

5、迭代收敛2) 迭代法的加速: a) 松弛法:若(x) 与 xk 同是 x* 的近似值,则 xk 1 (1k ) xkk( xk ) 是两个近似值的加权平均, 其中 k 称为权重,现通过确定k 看能否得到加速迭代方程是:x( x)其中( x)(1) x( x) ,令'(x)1'( x)0 ,试确定:1k11 k'( xk )当 '( x) 1 时,有'( x) ,即当1'(xk ) ,'(xk ) 时,11k1可望获得较好的加速效果,于是有松弛法:xk 1(1k ) xkk( xk ) ,1 '(xk )b) Altken 方法:x

6、*( x* ) , x* 是它的根, x0 是其近似根设 x1(x0 ) , x2(x1) ,因为x*x2 x*x2 x2 (x* )(x1)x2' ( )( x*x1 ) ,x2x1( x1 )( x0 )用差商 x1x0x1x0近似代替 ' () ,有x*x2 x2x1 ( x*x1 )x1x0,解出 x* ,得*( xx ) 2xx221x22x1x0由此得出公式xk(1)( xk ) ;xk(2)( xk(1) ) ;xk 1(2)(xk(2)xk(1) )2xkxk(2)2 xk(1)xk , k 0,1,2,这就是 Altken 公式。3. 牛顿 (Newton)法

7、(牛顿切线法)1) 牛顿法的基本思想:f ( x)0 是非线性方程,一般较难解决,多采用线性化方法f ( x)f ( x) f '(x)(xx)f ''( ) ( x x )20002!0记: P( x)f (x0 )f '( x0 )( x x0 )P(x) 是一次多项式,用 P(x)0 作为 f ( x)0 的近似方程P(x)f ( x0 ) f '(x0 )( xx0 )0 的解为x x0f ( x0 )f '( x0 )( f '( x0 ) 0)记为 x1 ,一般地,记xk 1f ( xk )xkk0,1,2,f '(

8、xk )即为牛顿法公式。实验所用软件及版本:Matlab R2012b主要内容(要点) :分别用对分法、普通迭代法、松弛迭代法、 Altken 迭代法、牛顿切法线等 5 种方法,求方程 t x sin( x ) 的正的近似根, 0 t 1 (建议取 t 0.5 )实验过程记录(含基本步骤、主要程序清单及异常情况记录等):1.对分法syms x fx;a=0.001;b=3;fx=0.5*x-sin(x);x=(a+b)/2;k=0;ffx=subs(fx,'x',x);if ffx=0;disp('the root is:',num2str(x)else dis

9、p('kakbkf(xk)')while abs(ffx)>0.0001&a<b;disp(num2str(k),' ',num2str(a),' ',num2str(b),' ',num2str(ffx)fa=subs(fx,'x',a);ffx=subs(fx,'x',x);if fa*ffx<0b=x;elsea=x;endk=k+1;x=(a+b)/2;enddisp(num2str(k),' ',num2str(a),' ',num

10、2str(b),' ',num2str(ffx)endfprintf(' 所求的解是: x=%f, 迭代步数是: %d/n',x,k)【调试结果】0 0.001 3 -0.247281 1.5005 3 -0.247282 1.5005 2.2502 0.347213 1.8754 2.2502 -0.0162864 1.8754 2.0628 0.150025 1.8754 1.9691 0.0628246 1.8754 1.9222 0.0222397 1.8754 1.8988 0.00271658 1.8871 1.8988 -0.00684999 1.

11、8929 1.8988 -0.00208310 1.8929 1.8959 0.000312711 1.8944 1.8959 -0.0008861612 1.8951 1.8959 -0.0002869813 1.8951 1.8955 1.2794e-005所求的解是: x=1.895327,迭代步数是: 133. 普通迭代法syms x fx gx;gx=sin(x)/0.5;fx=0.5*x-sin(x);disp('kxf(x)')x=1.1;k=0;ffx=subs(fx,'x',x);while abs(ffx)>0.0001;disp(nu

12、m2str(k),' ',num2str(x),' ',num2str(ffx);x=subs(gx,'x',x);ffx=subs(fx,'x',x);k=k+1;enddisp(num2str(k),' ',num2str(x),' ',num2str(ffx)fprintf(' 所求的解是: x=%f, 迭代步数是: %d/n',x,k)【调试结果】0 1.1 -0.341211 1.7824 -0.0864852 1.9554 0.0507393 1.8539 -0.0332

13、384 1.9204 0.0206775 1.879 -0.0133576 1.9057 0.00844337 1.8889 -0.0054168 1.8997 0.00344319 1.8928 -0.002201710 1.8972 0.001402811 1.8944 -0.0008958412 1.8962 0.0005712513 1.895 -0.0003646214 1.8958 0.0002325915 1.8953 -0.0001484216 1.8956 9.4692e-005所求的解是: x=1.895610,迭代步数是: 163.松弛迭代法syms fx gx x dg

14、x;gx=sin(x)*2;fx=0.5*x-sin(x);dgx=diff(gx,'x');x=1.8;k=0;ggx=subs(gx,'x',x);ffx=subs(fx,'x',x);dgxx=subs(dgx,'x',x);disp('kxw')while abs(ffx)>0.0001;w=1/(1-dgxx);disp(num2str(k),' ',num2str(x),' ',num2str(w)x=(1-w)*x+w*ggx;k=k+1;ggx=subs(gx,

15、'x',x);ffx=subs(fx,'x',x);dgxx=subs(dgx,'x',x);enddisp(num2str(k),' ',num2str(x),' ',num2str(w)fprintf(' 所求的解是: x=%f, 迭代步数是: %dn',x,k)【调试结果】kxw0 1.8 0.687571 1.9016 0.606242 1.8955 0.60624所求的解是: x=1.895515,迭代步数是: 24.altken 法syms fx gx x ;gx=sin(x)*2;fx

16、=0.5*x-sin(x);disp('kxx1x2')x=1.5;k=0;ffx=subs(fx,'x',x);while abs(ffx)>0.0001;u=subs(gx,'x',x);v=subs(gx,'x',u);disp(num2str(k),' ',num2str(x),' ',num2str(u),' ',num2str(v)x=v-(v-u)2/(v-2*u+x);k=k+1;ffx=subs(fx,'x',x);enddisp(num2st

17、r(k),' ',num2str(x),' ',num2str(u),' ',num2str(v)fprintf(' 所求的解是: x=%f, 迭代步数是: %dn',x,k)【调试结果】kxx1x201.5 1.995 1.822711.8672 1.9128 1.884221.8952 1.8957 1.895431.8955 1.8957 1.8954所求的解是: x=1.895494,迭代步数是: 35.牛顿法syms x fx gx;fx=0.5*x-sin(x);gx=diff(fx,'x');x1=0

18、.8;x2=1.5;x3=4;k=0;disp('kx1x2x3')fx1=subs(fx,'x',x1);fx2=subs(fx,'x',x2);fx3=subs(fx,'x',x3);gx1=subs(gx,'x',x1);gx2=subs(gx,'x',x2);gx3=subs(gx,'x',x3);while abs(fx1)>0.0001|abs(fx2)>0.0001|abs(fx3)>0.0001;disp(num2str(k),' '

19、,num2str(x1),' ',num2str(x2),' ',num2str(x3) x1=x1-fx1/gx1;x2=x2-fx2/gx2;x3=x3-fx3/gx3;k=k+1; fx1=subs(fx,'x',x1);fx2=subs(fx,'x',x2);fx3=subs(fx,'x',x3); gx1=subs(gx,'x',x1);gx2=subs(gx,'x',x2);gx3=subs(gx,'x',x3);enddisp(num2str(k),&#

20、39; ',num2str(x1),' ',num2str(x2),' ',num2str(x3)fprintf(' 所求的解是 :x1=%f,x2=%f,x3=%f, 迭代步数 :%dn',x1,x2,x3,k)【调试结果】kx1x2x30 0.8 1.5 41 -0.81335 2.0766 1.61042 0.89679 1.9105 1.973 -1.7856 1.8956 1.89844 -1.9037 1.8955 1.89555 -1.8955 1.8955 1.8955所求的解是 :x1=-1.895533,x2=1.89

21、5494,x3=1.895494,迭代步数 :5【情况记录】1.对分法简单,然而,若在是有几个零点时, 只能算出其中一个零点, 它不能求重根,也不能求虚根 .另一方面,即使在上有零点,也未必有。这就限制了对分法的使用范围。对分法只能计算方程的实根。对分法的收敛速度较慢,它常用来试探实根的分布区间,或求根的近似值寻找满足定理条件的等价形式是难于做到的。事实上,如果为的零点,若能构造等价形式而,由的连续性,一定存在的邻域,其上有,这时若初值迭代也就收敛了。由此构造收敛迭代式有两个要素,其一,等价形式应满足;其二,初值必须取自的充分小邻域,这个邻域大小决定于函数,及做出的等价形式。松弛法的加速效果明显,甚至不收敛的迭代函数经加速后也能获得收敛松弛法要先计算 '(xk ) ,在使用中有时不方便,而 Altken 公式,它的加速效果是十分明显的,它同样可使不收敛的迭代格式获得收敛。5.牛顿法的收敛速度明显快于对分法。牛顿法也有局限性。牛顿法至少是二阶收敛的,而在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论