数学实验报告(共13页).doc

上传人:飞****2 文档编号:14268995 上传时间:2022-05-03 格式:DOC 页数:13 大小:419KB
返回 下载 相关 举报
数学实验报告(共13页).doc_第1页
第1页 / 共13页
数学实验报告(共13页).doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《数学实验报告(共13页).doc》由会员分享,可在线阅读,更多相关《数学实验报告(共13页).doc(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上数学实验报告实验序号: 03 日期: 2013 年 12 月 5 日班级应数二班姓名黄怡丹学号实验名称求代数方程的近似根问题背景描述:求代数方程的根是最常见的数学问题之一,当是一次多项式时,称为线性方程,否则称之为非线性方程当是非线性方程时,由于的多样性,尚无一般的解析解法可使用,但如果对任意的精度要求,能求出方程的近似根,则可以认为求根的计算问题已经解决,至少能满足实际要求本实验介绍一些求方程实根的近似值的有效方法,要求在使用这些方法前先确定求根区间a,b,或给出某根的近似值实验目的:1. 了解对分法、迭代法、牛顿切线法求方程近似根的基本过程. 2.求代数方程(组)

2、的.。实验原理与数学模型:1.对分法基本思想:将有根区间进行对分,判断出解在某个分段内,然后再对该段对分,依次类推,直到满足给定的精度为止适用范围求有根区间内的 单根 或 奇重实根数学原理:介值定理 设在上连续,即 ,或,则根据连续函数的介值定理,在内至少存在一点 ,使具体步骤:(1) 令,计算;(2) 若,则是的根,停止计算,输出结果若 ,则令,若,则令,;,有、以及相应的(3) 若 (为预先给定的精度要求),退出计算,输出结果;反之,返回(1),重复(1),(2),(3)以上方法可得到每次缩小一半的区间序列,在中含有方程的根当区间长很小时,取其中点为根的近似值,显然有以上公式可用于估计对分

3、次数2. 迭代法基本思想:构造的一个等价方程从某个近似根出发,计算,可得一个迭代序列,这种方法称为迭代法若 收敛,即,假设连续,有即可知,的极限是的根,也就是的根当然,若发散,迭代法就失败迭代过程收敛的常用判别标准:当根区间较小,且对某一,明显小于1时,则迭代收敛 迭代法的加速:(1)松弛法:若与同是的近似值,则是两个近似值的加权平均,其中称为权重,现通过确定看能否得到加速迭代方程是:其中,令,试确定:当时,有,即当,时,可望获得较好的加速效果,于是有松弛法:,(2) Altken方法:,是它的根,是其近似根设,因为,用差商近似代替,有 ,解出,得由此得出公式 ;,这就是Altken 公式。3

4、. 牛顿(Newton)法(牛顿切线法)基本思想:是非线性方程,一般较难解决,多采用线性化方法记:是一次多项式,用作为的近似方程的解为 记为,一般地,记 即为牛顿法公式。实验所用的软件及版本:MatlabR2012b主要内容(要点):4.分别用对分法、普通迭代法、松弛迭代法、Altken 迭代法、牛顿切法线等5种方法,求方程 的正的近似根,(建议取 时间许可的情况下,可进一步考虑的情况)实验过程记录(含:基本步骤、主要程序清单及异常情况记录等):第三题1.对分法syms x fx;a=0;b=2;fx=0.5*x-sin(x);x=(a+b)/2;i=0;ffx=subs(fx,x,x);if

5、 ffx=0; disp(the root is:,num2str(x)%第一次the root is:少加单引号第二次改的时候只把the root is了单引号,把 :放在了单引号外面else disp(i ai bi f(xi) while abs(ffx)0.0001&ab; disp(num2str(i), ,num2str(a), ,num2str(b), ,num2str(ffx) %把ffx误写为fx fa=subs(fx,x,a);ffx=subs(fx,x,x); if fa*ffx ti1Error: File: ti1.m Line: 7 Column: 23Expres

6、sion or statement is incorrect-possibly unbalanced (, , or . ti1Error: File: ti1.m Line: 7 Column: 25Expression or statement is incorrect-possibly unbalanced (, , or . ti1Error: File: ti1.m Line: 21 Column: 9The input character is not valid in MATLAB statements or expressions. ti1Error: File: ti1.m

7、Line: 6 Column: 1At least one END is missing: the statement may begin here. 正确结果 ti1i ai bi f(xi)0 0 2 -0.341471 1 2 -0.341472 1.5 2 -0.247493 1.75 2 -0.108994 1.875 2 -0.5 1.875 1.9375 0.6 1.875 1.9063 0.7 1.8906 1.9063 -0.8 1.8906 1.8984 0.9 1.8945 1.8984 -0.10 1.8945 1.8965 0.11 1.8945 1.8955 1.1

8、094e-05所求的解是:x=1.,迭代步数是:11/n2. 普通迭代法syms x fx gx;gx=sin(x)/0.5;fx=0.5*x-sin(x);disp(i x f(x)x=1.5;i=0;ffx=subs(fx,x,x);while abs(ffx)0.0001; disp(num2str(i), ,num2str(i), ,num2str(ffx); x=subs(gx,x,x);ffx=subs(fx,x,x);i=i+1;enddisp(num2str(i), ,num2str(x), ,num2str(ffx)fprintf(所求的解是:x=%f,迭代步数是:%d/n,

9、x,i)异常记录 ti2Error: File: ti2.m Line: 2 Column: 21Unexpected MATLAB expression. ti2Error: File: ti2.m Line: 8 Column: 6The expression to the left of the equals sign is not a valid target for an assignment. ti2Undefined function or variable sinx.Error in ti2 (line 2)gx=sin(x)/0.5;fx=0.5*x-sinx; 异常结果 t

10、i2i x f(x)0 0 -0.341210 0 -0.0 0 0.0 0 -0.0 0 0.0 0 -0.0 0 0.0 0 -0.0 0 0.0 0 -0.0 0 0.0 0 -0.0 0 0.0 0 -0.0 0 0.0 0 -0.0 1.8956 9.4692e-05所求的解是:x=1.,迭代步数是:0/n正确运行结果 ti2i x f(x)0 0 -0.247491 1 0.2 2 -0.3 3 0.4 4 -0.5 5 0.6 6 -0.7 7 0.8 8 -0.9 9 0.10 10 -0.11 11 0.12 12 -0.13 13 0.14 14 -0.15 15 0.16

11、 16 -0.17 1.8956 6.477e-05所求的解是:x=1.,迭代步数是:17/n 3.松弛迭代法syms fx gx x dgx;gx=sin(x)*2;fx=0.5*x-sin(x);dgx=diff(gx,x);x=1.5;k=0;ggx=subs(gx,x,x);ffx=subs(fx,x,x);dgxx=subs(dgx,x,x);% 在写ffx=subs(fx,x,x)时少加了一个单引号disp(i x c)while abs(ffx)0.0001; c=1/(1-dgxx); %把dgxx写成dgx disp(num2str(i), ,num2str(x), ,num

12、2str(c)%漏写单引号 x=(1-c)*x+c*ggx;i=i+1; ggx=subs(gx,x,x);ffx=subs(fx,x,x);dgxx=subs(dgx,x,x);end disp(num2str(i), ,num2str(x), ,num2str(c)fprintf(所求的解是:x=%f,迭代步数是:%d/n,x,i)异常记录 ti4Error: File: ti4.m Line: 4 Column: 32Unexpected MATLAB expression. ti4Error: File: ti4.m Line: 8 Column: 39Unexpected MATLA

13、B expression. ti4Error: File: ti4.m Line: 8 Column: 40Unexpected MATLAB expression. ti4i x cUndefined function max for input arguments of type sym.Error in num2str (line 84) xmax = double(max(abs(x(:);运行结果 ti4i x c17 1.5 1.164818 2.0766 0.5078919 1.9105 0.6000920 1.8956 0.6103921 1.8955 0.61039所求的解是

14、:x=1.,迭代步数是:21 4.altken法syms fx gx x ;gx=sin(x)*2;fx=0.5*x-sin(x);disp(i x x1 x2)x=1.5;i=0;ffx=subs(fx,x,x);while abs(ffx)0.0001; u=subs(gx,x,x);v=subs(gx,x,u); disp(num2str(i), ,num2str(x), ,num2str(u), ,num2str(v) x=v-(v-u)2/(v-2*u+x);i=i+1;ffx=subs(fx,x,x);%漏写了2end disp(num2str(i), ,num2str(x), ,

15、num2str(v),num2str(v) % num2str拼错了 fprintf(所求的解是:x=%f,迭代步数是:%dn,x,i)异常记录 ti5Error: File: ti5.m Line: 9 Column: 13Unexpected MATLAB expression. ti5i x x1 x2Undefined function num2sr for input arguments of type double.Error in ti5 (line 8) disp(num2sr(i), ,num2str(x), ,num2str(u), ,num2str(v)运行结果 ti5i

16、 x x1 x20 1.5 1.995 1.82271 1.8672 1.9128 1.88422 1.8952 1.8957 1.89543 1.8955 1.8957 1.8954所求的解是:x=1.,迭代步数是:35.牛顿法syms x fx gx;fx=0.5*x-sin(x);gx=diff(fx,x);x1=0.5;x2=1.5;x3=3;i=0;disp(i x1 x2 x3)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

17、,x3);while abs(fx1)0.0001|abs(fx2)0.0001|abs(fx3)0.0001; disp(num2str(i), ,num2str(x1), ,num2str(x2), ,num2str(x3) x1=x1-fx1/gx1;x2=x2-fx2/gx2;x3=x3-fx3/gx3;i=i+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);end disp(num2str(i), ,num2s

18、tr(x1), ,num2str(x2), ,num2str(x3) fprintf(所求的解是:x1=%f,x2=%f,x3=%f,迭代步数:%dn,x1,x2,x3,i)运行结果 ti6i x1 x2 x30 0.5 1.5 31 -0.10762 2.0766 2.0882 0. 1.9105 1.91223 -3.9465e-10 1.8956 1.89574 0 1.8955 1.8955所求的解是:x1=0.,x2=1.,x3=1.,迭代步数:4 实验报告结果与实验总结实验报告结果:第三题1.对分法运行结果 ti1i ai bi f(xi)0 0 2 -0.341471 1 2 -

19、0.341472 1.5 2 -0.247493 1.75 2 -0.108994 1.875 2 -0.5 1.875 1.9375 0.6 1.875 1.9063 0.7 1.8906 1.9063 -0.8 1.8906 1.8984 0.9 1.8945 1.8984 -0.10 1.8945 1.8965 0.11 1.8945 1.8955 1.1094e-05所求的解是:x=1.,迭代步数是:11/n3. 普通迭代法运行结果 ti2i x f(x)0 0 -0.247491 1 0.2 2 -0.3 3 0.4 4 -0.5 5 0.6 6 -0.7 7 0.8 8 -0.9

20、9 0.10 10 -0.11 11 0.12 12 -0.13 13 0.14 14 -0.15 15 0.16 16 -0.17 1.8956 6.477e-05所求的解是:x=1.,迭代步数是:17/n 3.松弛迭代法运行结果 ti4i x c17 1.5 1.164818 2.0766 0.5078919 1.9105 0.6000920 1.8956 0.6103921 1.8955 0.61039所求的解是:x=1.,迭代步数是:21 4.altken法运行结果 ti5i x x1 x20 1.5 1.995 1.82271 1.8672 1.9128 1.88422 1.8952

21、 1.8957 1.89543 1.8955 1.8957 1.8954所求的解是:x=1.,迭代步数是:35.牛顿法运行结果 ti6i x1 x2 x30 0.5 1.5 31 -0.10762 2.0766 2.0882 0. 1.9105 1.91223 -3.9465e-10 1.8956 1.89574 0 1.8955 1.8955所求的解是:x1=0.,x2=1.,x3=1.,迭代步数:4 思考与深入: 通过本实验加深了解了求方程实根的近似值的有效方法。学习并掌握了用对分法、迭代法、牛顿切线法求方程近似根的基本过程。并认识到对于不同的题目,需要确定好求根区间 , b a ,或给出某根的近似值 0 x 这对于结果的精度有很大影响。 同时,对于自身,要深刻了解对分法、迭代法、牛顿切线法求方程近似根四种方法的基本思想,熟练掌握编程语句,更快更准确且熟练地设计出程序教师评语 专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com