数值分析实验3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

贵州师范大学数学与计算机科学学院学生实验报告

课程名称: 数值分析 班级: 信本班 实验日期: 2013 年 9 月 3日

学 号: 110703010038 姓名: 孙泽香 指导教师: 实验成绩:

一、实验名称

实验一:递推法的稳定性,秦九韶算法

二、实验目的及要求

1. 熟悉数值稳定的概念, 通过上机计算,了解舍入误差所引起的数值不稳定性.

2. 培养Matlab 编程与上机调试能力.

三、实验环境

每人一台计算机,要求安装Windows XP 操作系统,Microsoft office2003、MATLAB6.5(或7.0)。

四、实验内容

1.教材例1.13中,取16位数字计算,并分析、比较计算结果.

2.设100999832()101100994321f x x x x x x x =+++

++++,用秦九韶算法编程计

算()f x 在1,2,3,4x =上的值.

五、算法描述及实验步骤

1. 设

(1)从0I 尽可能精确的近似值出发,利用递推公式:

115(1,2,,14)n n I I n n -=-+=, 计算从1I 到14I 的近似值;

(2)从15I 较粗糙的估计值出发,用递推公式:

111(15,14,,3,2)55n n I I n n -=-+=

计算从1I 到14I 的近似 .

2. 秦九韶算法

给定n次多项式

Pn(x)=a(n)x^n+a(n-1)x^(n-1)+…+a(1)x+a(0).

要计算Pn(x)在x处的值。

今考虑n次多项式Pn(x),用V(k)表示第k层的值(从里面数起),依次计算 V(1)=a(n)x+a(n-1) V(2)=V(1)x+a(n-2) … V(n)=V(n-1)x+a(0).

显然V(n)=Pn(x).记a(n)=V(0),上述计算过程可写成:

V(0)=a(n)

V(k)=V(k-1)*x+a(n-k),(k=1,2,…,n).

六、调试过程及实验结果

1.12 算法一:

>> format long e

>> syms x;

>> fun=inline('1./(x+5)');

>> I(1)=quad(fun,0,1);

>> for n=1:14

I(n+1)=1/n-5*I(n);

end

>> I

I =

Columns 1 through 3

1.823215568047383e-001 8.839221597630853e-002

5.803892011845735e-002

Columns 4 through 6

4.313873274104657e-002 3.430633629476715e-002

2.846831852616427e-002

Columns 7 through 9

2.432507403584530e-002 2.123177267791634e-002

1.884113661041828e-002

Columns 10 through 12

1.690542805901971e-002 1.547285970490148e-002

1.354479238458353e-002

Columns 13 through 15

1.560937141041567e-002 -1.123780129001425e-003

7.704747207357855e-002

算法二:

>> format long e

>> syms x;

>> fun=inline('x.^14./(x+5)');

>> I(15)=quad(fun,0,1);

>> for n=14:-1:1

I(n)=1/(5*n)-I(n+1)/5;

end

>> I

I =

Columns 1 through 3

1.823215567939547e-001 8.839221603022675e-002

5.803891984886631e-002

Columns 4 through 6

4.313873408900180e-002 3.430632955499104e-002

2.846835222504479e-002

Columns 7 through 9

2.432490554144271e-002 2.123261514992931e-002

1.883692425035346e-002

Columns 10 through 12

1.692648985934385e-002 1.536755*********e-002

1.407133739268709e-002

Columns 13 through 15

1.297664636989789e-002 1.203984507358747e-002

1.122934606063409e-002

1.13 设f(x)=101x^100+100x^99+…+3x^2+2x+1,用秦九韶算法编程计算f(x)在x=1,2,3,4上的值。

>> syms x;

>> a=101:-1:1;

>> x=[1,2,3,4];

>> V=a(1);

>> for k=1:100

V=V.*x+a(k+1);

end

>> V

V =

Columns 1 through 3

相关文档
最新文档