- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析期末大作业
一、问题提出
设方程f(x)=x3-3x-1=0有三个实根 x=1.8793 , x=-0.34727 ,x=-1.53209现采用下面六种不同计算格式,求 f(x)=0的根 x 或x 。
x =
x =
x =
x =
x =
x = x -
二、目的和意义
1、通过实验进一步了解方程求根的算法;
2、认识选择计算格式的重要性;
3、掌握迭代算法和精度控制;
4、明确迭代收敛性与初值选取的关系。
三、结构程序设计
本程序实在matlab软件上进行操作的。首先建立一个空白的M-文件。在编辑器中输入以下内容,并保存。
function [X1,m,n,q]=shizi1(p)
x=zeros(100,1);
x=double(x);
x(1,1)=p;
i=1;
deltax=100;
while (i100 deltax 0.000001)
x(i+1,1)=(3*x(i,1)+1)/x(i,1)^2
deltax=abs(x(i+1,1)-x(i,1));
i=i+1;
end
X1=x(1,1);
m=i;
n=x(i,1);
q=deltax;
以上是运行函数,下一步在建立一个执行M-文件,输入以下内容,并保存。其中X1为初始值,m为迭代次数,n为最后得到的值,q为|xk+1-xk|。
clear all;
clc;
p=1.8;
[X1,m,n,q]=shizi1(p)
对第一个迭代公式,在执行文件中输入p=1.8;[X1,m,n,q]=shizi1(p)。得到如下结果如下:初值为1.8,迭代100次,精度为10-6。
可见该迭代公式是发散的,将初值改为-1.5,其他均条件不变。
p=-1.5;
[X1,m,n,q]=shizi1(p)
改变初值后可以得到一个接近真值的结果x的结果ans=-1.5321。可见此种迭代公式得到的结果需要很大的计算量。
2. 对第二个迭代公式,建立一个空白的M-文件。在编辑器中输入以下内容,并保存。
function [X1,m,n,q]=shizi2(p)
x=zeros(100,1);
x=double(x);
x(1,1)=p;
i=1;
deltax=100;
while (i100 deltax 0.000001)
x(i+1,1)=(x(i,1)^3-1)/3
deltax=abs(x(i+1,1)-x(i,1));
i=i+1;
end
X1=x(1,1);
m=i;
n=x(i,1);
q=deltax;
在执行文件中输入p=-0.3;[X1,m,n,q]=shizi2(p)。得到如下结果如下:初值为-0.3,迭代100次,精度为10-6。
迭代到第7次后就可以得到真值-0.3473的结果,此种迭代式的迭代速度较快。
改变初值,当初值等于1.8时,
p=1.8;
[X1,m,n,q]=shizi2(p)
其结果如下:
当初值为1.8时,迭代次数为11次。
继续改变初值,当初值等于-1.5时,
p=-1.5;
[X1,m,n,q]=shizi2(p)
其结果如下:
当初值为-1.5时,迭代次数为14次。
可以看出,此迭代方程迭代收敛速度较快。
3. 对第三个迭代公式,建立一个空白的M-文件。在编辑器中输入以下内容,并保存。
function [X1,m,n,q]=shizi3(p)
x=zeros(100,1);
x=double(x);
x(1,1)=p;
i=1;
deltax=100;
while (i100 deltax 0.000001)
x(i+1,1)= (3*x(i,1)+1)^(1/3)
deltax=abs(x(i+1,1)-x(i,1));
i=i+1;
end
X1=x(1,1);
m=i;
n=x(i,1);
q=deltax;
在执行文件中输入:
p=-0.3;
[X1,m,n,q]=shizi3(p)
得到如下结果如下:初值为-0.3,迭代100次,精度为10-6。
迭代到第15次后就可以得到接近于真值1.8794的结果。
改变初值,当初值等于1.8时,
p=1.8;
[X1,m,n,q]=shizi3(p)
其结果如下:
当初值为1.8是,迭代次数为11次得到值1.8794。
继续改变初值,当初值等于-1.5时,
p=-1.5;
[X1,m,n,q]=shizi3(p)
其结果如下:
当初值为-1.5时,迭代次数为15次。
4. 对第四个迭代公式,建立一个空白的M-文件。在编辑器中输入以下内容,并保存。
function [X1,m,n,q]=shi
文档评论(0)