- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西京学院数学软件实验任务书
课程名称 数学软件实验 班级 数0901 学号 0912020119 姓名 王震 实验课题 非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法 实验目的 熟悉非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法 实验要求 运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成 实验内容 非线性方程的二分法
非线性方程的迭代法
非线性方程的松弛迭代法
非线性方程的Aitken迭代法
非线性方程的Steffensen迭代法 成绩 教师
【实验课题】
非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法
【实验目的】
熟悉非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法
【实验内容】
1、二分法
假定方程在区间内有唯一的实根 。此时,即为有根区间。
1.1基本思想 :
首先确定有根区间,然后平分有根区间,通过判断区间端点处的函数值符号,逐步将有根区间缩小,直至有根区间足够地小,便可求出满足给定精度要求的根的近似值。
1.2算法过程:
取,将代入方程,判断它的正负号,并用替换与它同方向的区间端点,依次循环得到:
其中,每一段的长度都是前一段长度的一半。即:
因此,如果二分过程无限进行下去,则有根区间最终必收敛于一点,该点就是所求方程的根。
1.3算法步骤:
步骤1 输入有根区间的端点,及预先给定的精度
步骤2
步骤3 若,则输出.计算结束;若,则,转向步骤4;否则,转向步骤4
步骤4 若,则输出方程满足精度的根,结束;否则转向步骤2
2、迭代法
2.1基本思想 :
给定方程的一个初始近似根,然后反复使用某一公式来校正这个初始近似根,使之逐步精确化,直到满足预先给定的精度要求为止。
2.2算法过程:
取一个根的初始近似值,计算,,…,,…,得到一个迭代序列,。
若迭代序列收敛,则称迭代公式或迭代法是收敛的,否则称迭代公式是发散的。
假设迭代序列收敛于 ,即则当连续时,对迭代公式 两边取极限,可得,即
,所以
由此表明,序列的极限就是方程的根。同样,对于预先给定的精度,只要 适当大且满足就可结束计算并取。
2.3 算法步骤:
1、确定方程的等价形式
2、为使迭代过程收敛,要求在有根区间内满足
3、选取初始近似根,按迭代公式进行计算,
4、当( 是预定精度)时停止计算,取
3、松弛迭代法
求解思路:
对于式子,给两边同时减去,得:
即得到迭代公式:,
上式可变形为;
令:,则:
其中为松弛因子。
4、Aitken迭代法
求解思路:
设线性收敛到,记,有
当充分大时有
(1)
(2)
其中,,将(1),(2)相除,即:
从而可求得:
令
此时得到一个新的序列它比原序列收敛得快。
5、Steffensen迭代法
求解思路:
设 是根 的某个预测值,用迭代公式校正一次得:
,
则有: (1)
(2)
(1)(2)相除就得到Steffensen迭代法,即:
因此,
与Aitken迭代法不同的是,Steffensen迭代法代入数值时用已算出来的进行计算,而Aitken迭代法是在原序列的基础上产生新的序列。
【程序】function [x,k]=bisect()
a=input(please input a number a=\n);
b=input(please input a number b=\n);
err=input(please input a number err=\n);
ya=fun(a);
yb=fun(b);
if ya*yb0
disp(初值不符!);
return
end
k=0;
while (b-a)err
k=k++1;
c=(a+b)/2;
yc=fun(c);
if yc==0
a=c;
b=c;
elseif yb*yc0
b=c;
yb=yc;
else
a=c;
ya=yc;
end
end
x=(a+b)/2;
k;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [x,k]=diedai1()
x0=input(输入初值x0=\n);
N=input(请输入最大迭代次数N=\n);
err=input(请输入最大极限err=\n);
k=0;
x1=fun1(x0);
cha=abs(x1-x0
您可能关注的文档
最近下载
- 标准的个人简历表格[空白].doc VIP
- 开放系统11879《小学语文教学研究》期末机考真题及答案(第102套).docx VIP
- 2025年新教科版科学四年级下册全册知识点(超全版).pdf
- 《sm-3酶标仪说明书》.doc VIP
- 3篇《严禁违规操办“升学宴廉政承诺书》谈话记录.docx VIP
- 2025中国工商银行软件开发中心社会招聘笔试备考题库及答案解析.docx VIP
- 老年常见病的预防与照护教学大纲.docx
- 六年级科学上册(教科版)全册同步练习(含答案).pdf VIP
- 2025年新人教版七年级下册历史全册知识点(新教材).pdf VIP
- 基于项目式学习的初中生物综合实践活动案例论文.docx
文档评论(0)