- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值计算M课程论文3
PAGE \* MERGEFORMAT 31
数值计算M课程论文(一)
项目 基于Matlab的非线性方程数值解的求解
姓名
学号
班级
指导老师 王承竞
时间:2014年4月23日
摘要
本文用六种在课上学习的方法通过对非线性方程f(x)=x-lnx+s=0的进行求解,从而学习加深对这六种方法(二分法、不动点迭代法、牛顿法、割线法、牛顿下山法和Halley迭代法)的理解。
同时,本文还将通过控制基本设置,来评估收敛速度和结果的精确度来大概的评估这六种方法的优缺点。
关键字:Matlab编程 六种方法 非线性方程
注:本文是以具体的方程来讨论,因此本文取s=-8。
六种算法的分析和Matlab编程描述
1.1二分法
1.1.1二分法的算法分析
一般地,对于函数f(x),如果存在实数c,当x=c是f(c)=0,那么把x=c叫做函数f(x)的零点。
解方程即要求f(x)的所有零点。
先找到a、b,使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f((a+b)/2),现在假设f(a)0,f(b)0,ab。
如果f((a+b)/2)=0,该点就是零点;
如果f((a+b)/2)0,则在区间((a+b)/2,b)内有零点,按上述方法在求该区间中点的函数值,这样就可以不断接近零点;
如果f((a+b)/2)0,同上
通过每次把f(x)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,这种方法叫做二分法。
如图1.1.1所示为其理论分析图:
图1.1.1
1.1.2二分法的Matlab编程描述
function y=dichotomy(fun,a,b,tol)
if nargin4
tol=1.0e-5;
end
n=1;
if feval(fun,a)*feval(fun,b)0
c=(a+b)/2;
while (abs(b-c)tol)(abs(feval(fun,c))tol)
if(feval(fun,c)*feval(fun,a)0)
a=c;
c=(a+b)/2;
elseif(feval(fun,c)*feval(fun,a)0)
b=c;
c=(a+b)/2;
else
y=c;
tol=100;
end
n=n+1;
end
y=c;
elseif feval(fun,a)==0
y=a;
elseif feval(fun,b)==0
y=b;
else
disp(there may not be a root in the interval);
end
n
end
1.1.3程序的执行
首先,我们建立我们的各个方程函数如下:
对于x-lnx-8=0
function y=fun(x)
y=x-log(x)-8;
end
运行结果如下:
x=dichotomy(fun,2,10.4,1.0e-6)
n =
17
x =
10.3356
1.2不动点迭代法
1.2.1不动点迭代法的算法分析
迭代法是函数方程求根中最常用的求近似方法,用迭代法求函数方程f(x)=0的近似根,首先要将方程化为等价方程x=φ(x)。等价就是,如果x*是原方程的根,那么x*=φ(x*),反之,如果x*满足x*=φ(x*),那么f(x*)=0。迭代法就是求方程x=φ(x)的解的方法,为了进行迭代,先选取一个初始值近似 ,构造迭代格式为
若 ,则称此迭代为不动点迭代法。易知构造不动点的迭代公式不一定收敛,且收敛速度也受所构造的迭代公式的好坏所影响。
1.2.2不动点迭代法的Matlab编程描述
function x=BDD(x0,tol)
if nargin2
tol=1.0e-5;
end
n=1;
x=F(x0);
while abs(x-x0)tol
x0=x;
x=F(x0);
n=n+1;
end
n
end
1.2.3程序的执行
x=BDD(2,1.0e-6)
n =
9
x =
10.3356
1.3牛顿法
1.
您可能关注的文档
最近下载
- 2025年妇女儿童发展规划实施情况中期评估报告 .pdf VIP
- 智慧农业导论-第9章-智慧农业系统案例 - 复件.pptx VIP
- 2025年过敏性鼻炎患者疾病认知与管理蓝皮书-腾讯新闻.pdf
- 汽车制造物流技术课件:认识汽车制造物流技术.pptx VIP
- 幼儿园中班语言《萝卜回来了》教学课件精品PPT学前班儿童优秀公开课.ppt VIP
- 控制电缆技术规范书.docx VIP
- 人教版《劳动教育》七上 劳动项目九《体验快递派送》课件.ppt VIP
- 2022中国幽门螺杆菌感染治疗指南.pptx VIP
- 考试高科技无线电作弊技术装备图解手册.docx VIP
- 《基于PLC的自动门控制系统设计》-毕业论文.doc VIP
原创力文档


文档评论(0)