您的当前位置:首页正文

实验1_求解方程迭代法(完成版)

2021-05-09 来源:步旅网


实 验 报 告

求解方程迭代法实验(数值分析,2学时)

一 实验目的

掌握方程迭代法思想,会用Aitken法、牛顿法、弦截法求解方程。

二 实验内容

1 用下列方法求方程x33x10在x02附近的根,要求准确到四位有效数字。 (1)牛顿法 (2)单点弦截法 (3)双点弦截法

2 用Aitken法求方程x3x210在x01.5附近的根,精度要求为104。

三 实验步骤(算法)与结果

1.用各种迭代法求解方程x33x10在x02处的根: (1)牛顿法的算法与结果

A.根据原方程,又已知迭代公式如下:

xn1xnf(xn) ,(n0,1,2,……)f'(xn)利用MATLAB编写程序,如下:

>> clear; >> x=2; >> for i=1:4

x=x-(x^3-3*x-1)/(3*x^2-3) end B.结果

由编程可算得x的迭代值有四个

x1 = 1.8889 x2= 1.8795 x3 = 1.8794 x4 = 1.8794

由x3、x4的值知道可取方程的跟为x=1.879(保留四位有效数字) (2) 单点弦截法的算法与结果

A.根据定理2.6,单点弦截法迭代公式为:

xn1xnf(xn)xf(xn)xnf(x0)(xnx0)0,(n0,1,2,……)

f(xn)f(x0)f(xn)f(x0)并可知所求根1,2及

f(x)x33x1

1

f'(x)3x23 f''(x)6x

计算得

f(1)f''(1)0,f(2)f''(2)0

所以取[2,f(2)]为不动点,利用MATLAB编程(原文件如下):

>> clear;

>> x=1; >> x0=2; >> for i=1:5

x=(x0*(x^3-3*x-1)-x*(x0^3-3*x0-1))/((x^3-3*x-1)-(x0^3-3*x0-1)) end 求得结果

x1 =1.7500 x2 =1.8678 x3 =1.8784

x4 =1.8793 x5=1.8794

所以求得根为1.879 (3) 双点弦截法的算法与结果

A. 单点弦截法迭代公式为:

xn1xnf(xn)xf(xn)xnf(xn1) (xnxn1)n1,(n0,1,2,……)f(xn)f(xn1)f(xn)f(xn1)同理,所求根1,2,x01,x12,由C语言编程可求的结果(原文件如下): #include \"stdio.h\"

void main() {

float x1=1.0,x2=2.0,x; int i;

for(i=1;i<=5;i++) {

x=(x1*(x2*x2*x2-3*x2-1)-x2*(x1*x1*x1-3*x1-1))/((x2*x2*x2-3*x2-1)-(x1*x1*x1-3*x1-1));

printf(\"%f\\n\ x1=x2;x2=x; }

getch(); }

经过五次迭代,求得五次迭代的x的值,如下:

x1 =1.750000 x2 =1.867769 x3 =1.880597

2

x4 =1.879375 x5=1.879385

所以求得根为1.879 2.

已知迭代公式:

x((x))[(x)]2 (x)x2(x)((x))等价于:

x0z1y12 x1x02y1z1根据题意用C语言编程(源程序如下)

#include \"stdio.h\" #include \"conio.h\" #include \"math.h\" float fun(float x) {float m;

m=sqrt(x*x*x-1); return m; } main() {

float x0=1.5,x,k=1.5; while(k>=0.0001)

{x=(x0*fun(fun(x0))-fun(x0)*fun(x0))/(x0-2*fun(x0)+fun(fun(x0))); printf(\"%f \ k=fabs(x-x0); x0=x; }

getch(); } 得到结果:

3

所以求得根为1.4656

四 实验收获与教师评语

1.实验的收获

对于这次实验,我可以锻炼到上机实验的能力,并且第一次感受到数学知识在现实生活中的应用,也是第一次运用计算机解决数学问题。

另外,正是因为这次上机实验,让我重温了有些遗忘的编程知识。从中也学到一些简单的MATLAB知识,开始对编程有兴趣。

之前一直以为数学总是要用到我们的人脑去演算,原来不是的,与计算机结合也可以解决一些数学问题。

2.对老师的评语

客观地讲,我们的老师是一位尽责的老师,这话让人听起来也许会有些奉承,但是这确实如此,同时也是乐于帮助学生,对学生的教导总是平心气和却又是意味深长。是很有气质的老师。

在试验中,老师也很能体谅大部分学生的能力,因为这是我们第一次上数学实验,还不太懂。不过最后还是能完成我们的实验。

4

因篇幅问题不能全部显示,请点此查看更多更全内容