- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计报告
课程设计题目: 非线性方程求解
2011年 11月 27 日
题目:
用二分法,简单迭代法、牛顿迭代法以及弦截法求非线性方程
误差不超过10-4,输出迭代次数,初始值和根的近似值。
一、摘要
在matlab环境下运用熟悉的计算机编程语言结合二分法、简单迭代法、牛顿迭代法以及弦截法求解非线性方程,在运行完程序后,对运行结果做出了各方面的分析和比较。
最终得出二分法迭代次数最多,需14次,而简单迭代法、牛顿迭代法以及弦截法的迭代次数都较少,只需4—5次。由于方程有多个解,所以当赋的初始值不同或给定的区间不同时,根的近似值也会有所不同。
二、设计目的
用熟悉的计算机语言编程,上机完成用二分法、简单迭代法、牛顿迭代法以及弦截法求解非线性方程,掌握各种方法的理论依据及求解思路,了解各种迭代方法的异同。
三、理论基础
二分法:
二分法就是将方程根所在的区间平分为两个小区间,再判断根属于哪个小区间;把有根的小区间再平分为二,再判断根所在的更小的区间,对分;重复这一过程,最后求出所要的近似值。
简单迭代法:
简单迭代法是将方程化为一个等价的方程:
从而构成序列:
即给定一个初值,由(2)可算得,再将带入(2)的右端,又可得,…。我们{}为迭代序列,而称(1)式中的为迭代函数,(2)为迭代格式。如果连续,迭代序列{}收敛于,则就是方程(1)的解。事实上,又,亦即:
或
所以,如果迭代序列收敛,总能收敛于原方程的解。实际计算中,无穷过程不可能实现,只迭代到一定程度,取作为原方程的近似根。
牛顿迭代法:
设已知方程的一个近似根,把在处做泰勒展开,
若取前两项来近似代替(称为的线性化),则得近似的线性方程:
设,解之得。取作为原方程的近似根,即,一般地,再重复用上述方法得:。一般地,有迭代公式
上式称为求解的牛顿迭代公式。
弦截法:
假设方程在区间[a,b]上有唯一根,在区间[a,b]内的曲线上任取两点作弦,用此弦与轴的交点横坐标作为方程根的近似值。按此方法进行迭代计算,直到满足精度要求为止。
单点弦法:为避免导数的计算,用平均变化率
来替代迭代公式中的导数,于是得到:
按此公式进行迭代计算就称单点弦截法。按(3)式求得的实际上是弦AB与轴交点的横坐标,下一步再以点()和()作弦交轴得等等。每次作新的弦都以()作为一个端点,只有一个端点不断更换,故名为单点弦截法。
四、程序代码及运算结果
function y=f(x)
y=sin(x)-x.^2/2;
二分法:
clear;clc;
a=-2;b=1;
chushizhi1=-2
chushizhi2=1
kg=10^(-4);
for k=0:20
if f(a)*f(b)0
x=error
else
if f(a)*f(b)==0
if f(a)==0
a,k;
else b,k;
end
else m=(a+b)/2;
if abs(a-b)kg
jinsijie=m
diedaicishu=k-1
break
else
if f(a)*f(m)0
a=m;
else b=m;
end
k=k+1;
end
end
end
end
运行结果
chushizhi1 =-2
chushizhi2 =1
jinsijie =1.5259e-005
diedaicishu =14
简单迭代法:
x(1)=1
for k=1:12
x(k+1)=asin((x(k).^2)/2);
if (abs(x(k+1)-x(k)))0.0001
x(k+1)
k
break
end
end
运行结果
jinsijie =9.9887e-010
diedaicishu =5
chushizhi =1
牛顿迭代法:
syms x
y=diff(sin(x)-x.^2/2,x)
y = cos(x)-x
function y=p(x)
y=cos(x)-x;
x(1)=-1;
for k=1:20
if p(x(k))~=0
x(k+1)=x(k)-f(x(k))./p(x(k));
您可能关注的文档
最近下载
- 小学四年级四则运算500题.docx VIP
- 环境保护管理体系与措施.doc VIP
- 波音777X折叠式翼梢结构设计及仿真.docx
- 2025重庆江北区郭家沱街道办事处招聘1人笔试备考试题及答案解析.docx VIP
- 05G359-3悬挂运输设备轨道标准图集.pdf VIP
- 7.动物行为与环境变化 说课稿-2023-2024学年科学六年级下册青岛版.docx VIP
- 2025抖音电商品牌服饰秋冬趋势报告.pdf VIP
- 数字化技术在“思想道德与法治”课程中的应用与教学模式创新.docx VIP
- 邮政面试经典题目及答案.docx VIP
- 2025中国南水北调集团水网发展研究有限公司招聘6人模拟试卷含答案解析.docx VIP
文档评论(0)