- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
桂林电子科技大学
实验室:数学与计算科学学院实验报告
实验室:
学号
0800730121
批次
3
姓名
彭兆拓
成绩
课程 名称
数值分析
实验项目 名 称
1非线性方程求根
指导 教师
李光
/.―.
L云
实验日期:2010年4月17日
一,实验目的
通过实验,熟悉非线性方程求根的经典数值方法,掌握二分法,简单迭代法,牛顿迭代法的算法思想
二,实验原理
求非线性方程的数值解的方法一般有
二分法
要求在所给含根区间内有且只有一个根 ?即f (a) f (b) ::: 0.求根方法为不断取区间中点求函数值
a亠b
f( 2 ),将中点替代与之同号的端点,实现含根区间逐步减半,达到逐步接近方程根的目的?
简单迭代法
利用方程f(x)=0构造迭代格式xn1,=即(xj,选取初值,产生迭代序列{ X),x1/ ,xk},在迭代格式 收敛的情况下,可以得到f(x)=0的近似根.
牛顿迭代法
是取特殊迭代格式 xn “ = xn -丄的迭代法.
n「(Xn)
三,使用仪器,材料
计算机一台;Mathematica软件.
四,实验内容与步骤
1.用二分法求方程COSS in xi;i=0.75的解,精确到5位小数.
3
2.求解方程X
2
=x x 1在1,2内根的下列迭代法
Xk
1/ 3
1 ,
1
⑵ Xk 1 = 1
Xk
丄
2 ,Xk
3
(3) Xk 1 = xk
2
— Xk
-1,
x2 +1
⑷兀1 丁
=0
=0,取 X。= 0 ,| Xk^ — Xk 10^. (1)牛顿迭代
试通过实验找出收敛的迭代法
2x2 x
2x
3.编写程序,分别用下列方法求解方程 x 2xe e
⑶*
⑶*
比较各个方法的收敛速度 五,实验过程原始记录(数据,图表,计算等)
1、解:
Plot[Cos[Si n[x]]-0.75,{x,-5,5}]
(*二分法*
*输入数据,[a,b]为含根区间,f[x]为已知函数,e为允许误差*)
Clear[x];
a = -3.;
b = -2;
f[x_] := Cos[Si n[x] - 0.75];
e = 10(3);
(*************************
If[f[a]*f[b] 0, Print[[a,b]区间上 f[x]无解!],
i = 1;
While[Abs[a - b] e,
If[Abs[f[(b + a)/2]] e, Break]],];
0, a = (b + a)/2, b = (b +
Print[第,i,次二分区间得:[, a, ,, b,], 区间中点为:,(a + b)/2,
, f[x]=, f[(a + b)/2]];
i = i + 1;
]
Print[方程根为 x=, (a + b)/2, , f[x]=, f[(a + b)/2]];
]
(****************************)
第 1 次二分区间得:[-2.5,-2], 区间中点为:-2.25, f[x]=0.0427101
第 2 次二分区间得:[225,-2], 区间中点为:-2.125, f[x]=-0.0295192
第 3 次二分区间得:[-2.25,-2.125], 区间中点为:-2.1875, f[x]=0第 4 次二分区间得:[-2.1875,-2.125], 区间中点为:-2.15625, f[x]=-0.0126648
第 5 次二分区间得:[-2.1875,-2.15625],区间中点为:-2.17188, f[x]=-0第 6 次二分区间得:[-2.1875,-2.17188],区间中点为:-2.17969, f[x]=0.000513602
方程根为 x=-2.17969, f[x]=0.000513602
2、(1) *输入数据,max为最大迭代次数,g[x]为迭代格式,
x0为迭代初值,e为允许误差,k为计数器*)
Clear[x];
max = 10;
g[x_] := (xA2 + x + 1)A(1/3);
x0 = 1.5;
e = 10A(-3);
k = 1;
(*利用迭代公式形成迭代序列*)
xx = g[x0];
Print[第,k,次迭代 x=, xx];
While[Abs[x0 - xx] e,
If[k max,
x0 = xx; Print[达到最大迭代次数,可能为死循环!],
x0 = xx;
xx = g[x0];
k = k + 1;
Print[第,k,次迭代 x= , xx];
]
]
(************************************************)
第1次迭代x=1.68099
第2次迭代x=
您可能关注的文档
最近下载
- 汉英翻技巧译第一讲词类转译法.ppt VIP
- 基于跨学科融合的课程资源开发与利用实践研究.pptx VIP
- DB11_T 1834-2021城市道路工程施工技术规程.docx VIP
- 押车借款合同范本3篇 借款抵押车合同范本 .pdf VIP
- 2024-2025学年天津市西青区高一上学期11月期中考试数学检测试题(含解析).docx VIP
- 2A Chapter 3 People who help me 课件(新思维小学英语).pptx VIP
- 矿井建井地质报告.doc VIP
- 医院门诊服务优化与创新体系构建ppt课件.pptx
- 基于课程标准的跨学科主题学习:内涵阐释与实施要点.docx VIP
- MES智能制造实施技术方案及项目推进计划.pptx VIP
原创力文档


文档评论(0)