数值分析上机作业

  • 格式:doc
  • 大小:100.50 KB
  • 文档页数:6

下载文档原格式

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

昆明理工大学工科研究生《数值分析》上机实验

学院:材料科学与工程学院

专业:材料物理与化学

学号:2011230024

姓名: 郑录

任课教师:胡杰

P277-E1

1.已知矩阵A=

10787

7565

86109

75910

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎢⎥

⎣⎦,B=

23456

44567

03678

00289

00010

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎢⎥

⎢⎥

⎢⎥

⎣⎦

,错误!未找到引用源。

=

11/21/31/41/51/6 1/21/31/41/51/61/7 1/31/41/51/61/71/8 1/41/51/61/71/81/9 1/51/61/71/81/91/10 1/61/71/81/91/101/11⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦

(1)用MA TLAB函数“eig”求矩阵全部特征值。

(2)用基本QR算法求全部特征值(可用MA TLAB函数“qr”实现矩阵的QR分解)。解:MA TLAB程序如下:

求矩阵A的特征值:

clear;

A=[10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10];

E=eig(A)

输出结果:

求矩阵B的特征值:

clear;

B=[2 3 4 5 6;4 4 5 6 7;0 3 6 7 8;0 0 2 8 9;0 0 0 1 0];

E=eig(B)

输出结果:

求矩阵错误!未找到引用源。的特征值:

clear; 错误!未找到引用源。=[1 1/2 1/3 1/4 1/5 1/6; 1/2 1/3 1/4 1/5 1/6 1/7; 1/3 1/4 1/5 1/6 1/7 1/8; 1/4 1/5 1/6 1/7 1/8 1/9;1/5 1/6 1/7 1/8 1/9 1/10; 1/6 1/7 1/8 1/9 1/10 1/11]; E=eig(错误!未找到引用源。)

输出结果:

(2)A=

10

7877565861097

5

9

10

第一步:A0=hess(A);[Q0,R0]=qr(A0);A1=R0*Q0 返回得到:

第二部:[Q1,R1]=qr(A1);A2=R1*Q1

第三部:

[Q2,R2]=qr(A2);A3=R2*Q2

现在收缩,继续对A3的子矩阵错误!未找到引用源。=29.8329

3.44110.00003.4411

4.30530.16110

0.1611

0.8516

-- 进行累世变换,得到(假设收缩后的矩阵为C6)

C6=29.8329

3.44110.00003.4411

4.30530.16110

0.1611

0.8516

-- 这是进行了6步qr 算法所得的结果。故求的A 的近似特征值为错误!未找到引用源。30.2886,错误!未找到引用源。,错误!未找到引用源。,错误!未找到引用源。0.0102。而A 的特

征值是错误!未找到引用源。0.0102错误!未找到引用源。30.2886

同理,用类似的方法可求矩阵B 和错误!未找到引用源。的特征值,但过程过于繁琐,不再一一求解。

2用梯形公式、辛普森和Newton-Cotes 求积公式计算定积分⎰

π=

2

/0

I e x sin d x ,取精度

4

10

-,作出它们的积分图,并与精确值进行比较;

解 (1)用梯形求积公式计算定积分. 输入程序

>> h=pi/500; x=0:h:pi/2; y=exp(sin(x));

zt=trapz(x,y), ztc=cumtrapz(x,y), plot(x, ztc,'ro')

运行后屏幕显示用函数trapz 和cumtrapz 分别计算结果zt 、ztc 分别如下

zt =

3.10437572798742 ztc =

Columns 1 through 3

0 0.00630298652792 0.01264569951380

………………………………………………………………………..

Columns 250 through 251

3.08729642810745 3.10437572798742

(2)用辛普森求积公式计算定积分. 输入程序

>> syms x

L= inline(' exp(sin(x))');

[QS,FCNTS] =quad(L,0, pi/2,1.e-4,2)

运行后屏幕显示用辛普森求积公式计算定积分的值QS和递归次数FCNTS分别如下QS = FCNTS =

3.10438133817254 13

(3)用Newton-Cotes求积公式计算定积分. 在MATLAB6.5中输入程序

>> syms x

L= inline(' exp(sin(x))');

[Q8,FCNT8] = quad8(L,0, pi/2,1.e-4,3)

运行后屏幕显示用Newton-Cotes求积公式计算定积分的值Q8和递归次数FCNTS分别如下Q8 = FCNT8 =

3.10437901785555 33

(4)输入求定积分的精确值的程序

>> syms x

y=exp(sin(x)); F=int(y,0,pi/2), Fj=double(F)

wzt=abs( Fj- zt), wQS = abs(Fj- QS), wQ8 = abs(Fj- Q8)

运行后屏幕显示计算的定积分值F和近似值F j,梯形公式、辛普森和Newton-Cotes求积公式计算定积分的值与F j的绝对误差wztc, wQS和wQ8如下

Warning: Explicit integral could not be found.

> In C:\MATLAB6p5p1\toolbox\symbolic\@sym\int.m at line 58

F =

int(exp(sin(x)),x = 0 .. 1/2*pi)

Fj = wzt =

3.10437901785556 3.289868133471430e-006