实验二 MATLAB数值计算与符号运算功能

更新时间:2023-11-15 09:27:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程名称: MATLAB实验

题 目:实验二 MATLAB数值计算与符号运算功能

学生姓名: 专 业: 电子信息工程 班 级: 学 号:

指导教师: 张 静 实验地点: 现代通信实验室 日 期: 2012 年 12月 2 日

实验2 MATLAB数值计算、符号运算功能

一、实验目的

1、掌握建立矩阵、矩阵分析与处理的方法。 2、掌握线性方程组的求解方法。

3、掌握数据统计和分析方法、多项式的常用运算。

4、掌握求数值导数和数值积分、常微分方程数值求解、非线性代数方程数值求解的方法。 5、掌握定义符号对象的方法、符号表达式的运算法则及符号矩阵运算、符号函数极限及导数、符号函数定积分和不定积分的方法。 二、预习要求

(1) 复习4、5、6章所讲内容;

(2) 熟悉MATLAB中的数值计算和符号运算的实现方法和主要函数。 三、实验内容

??29618???1、 已知A?20512,求A的特征值及特征向量,并分析其数学意义。 ?????885??程序:

求A的特征值:A=[-29 6 18;20 5 12;-8 8 5];

E=eig(A) 运行结果: E =

-25.3169 -10.5182 16.8351 求A的特征向量:

[V,D]=eig(A) 运行结果:V =

0.7130 0.2803 0.2733 -0.6084 -0.7867 0.8725 0.3487 0.5501 0.4050

D =

-25.3169 0 0 0 -10.5182 0 0 0 16.8351 数学意义:

在数学上,特别是线性代数中,对于一个给定的线性变换,它的特征向量(本征向量或称正规正交向量)是这样一个非零的向量v:当v 经过这个线性变换的作用之后,得到的新向量(长度也许改变)仍然与原来的v 保持在同一条线上。一个特征向量的长度在该线性变换下缩放的比例称为其特征值(本征值)。如果特征值为正,则表示v 在经过线性变换的作用后方向也不变;如果特征值为负,说明方向会反转;如果特征值为0,则是表示缩回零点。但无论怎样,仍在同一条直线上。

2、 不用rot90函数,实现方阵左旋90°或右旋90°的功能。例如,原矩阵为A,A左旋后

得到B,右旋后得到C。

?101112??321??14710??789??654??,B???,B??? A??25811???456??987???36912??????123121110????提示:先将A转置,再作上下翻转,则完成左旋90°;如将A转置后作左右翻转,则完成右旋转90°,可用flipud、fliplr函数。

程序及运行结果如下:

A=[1 4 7 10;2 5 8 11;3 6 9 12]; B=A' B =

1 2 3 4 5 6 7 8 9 10 11 12

C=flipud(B)

C =

10 11 12 7 8 9 4 5 6 1 2 3

D=fliplr(B) D =

3 2 1 6 5 4 9 8 7

12 11 10

3、 建立一个5*5矩阵,求它的行列式值、秩。 程序及运行结果如下:

A=magic(5)

A =

17 24 1 8 15 23 5 7 14 16 4 6 13 20 10 12 19 21 11 18 25 2

B=det(A)

B =

5.0700e+006

r=rank(A)

r =

5

??12x1?113x2?4x3?0.95?4、 下面是一个线性方程组??1x11?31?4x2?5x3?0.67,

??1?4x1?15x12?6x3?0.52(1)求方程的解。

程序如下:A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; B=[0.95;0.67;0.52]; X=A\\B

X =

1.2000 0.6000

0.6000

22 3 9

(2)将方程右边向量元素b3=0.52改为0.53再求解,并比较b3的变化和解的相对变化。 程序如下:

C=[0.95;0.67;0.53]; X1=A\\C

X1 =

3.0000 -6.6000 6.6000 (3)计算系数矩阵的条件数并分析结论。

程序如下:

D=cond(A) D =

1.3533e+003

5、 建立矩阵A,试比较sqrtm(A)和sqrt(A),分析它们的区别。程序及运行结果如下:

A=magic(5)

A =

17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

B=sqrtm(A) B =

3.5456 + 1.3435i 2.7962 - 1.5926i -0.3000 + 0.8860i - 0.5287i

2.5518 - 1.5247i 2.1700 + 2.6661i 0.6534 + 0.2501i - 0.7001i

-0.0313 + 0.5290i 0.6707 + 0.3211i 3.3478 + 1.7354i - 1.6437i

0.9124 - 0.1853i 0.9210 - 0.3527i 1.8626 - 0.9590i + 0.9393i

0.5706 - 0.1082i 1.2598 - 0.6915i 1.9336 - 0.9417i 4.2785 + 0.5576i 1.4499 1.4272 2.1415 0.0878

9 98 12 76 8 45 61 20 80 25 48 13 97 32 58 86 60 29 11 24 67 44 46 81 51 17 47 57 83 69 85 77 92 10 3 59 90 38 37 52 22 78 74 6

7 16 34 50 19 88 2 70 63 94 23 28 27 18 64 4 1 49 95 79 99 65 82 43 100 96 89 33 40 41 73 56 15 5 30 31 39 36

7、 利用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验

随机数的性质: (1)均值和标准方差;

程序如下:

k=0;

x=rand(1,30000);

disp(['随机数的均值为:',num2str(mean(x))]) 随机数的均值为:0.49875

disp(['随机数的标准方差为:',num2str(std(x))]) 随机数的标准方差为:0.28898

(2)最大元素和最小元素;

程序如下:

disp(['随机数的最大元素为:',num2str(max(x))]) 随机数的最大元素为:0.99997

disp(['随机数的最小元素为:',num2str(min(x))]) 随机数的最小元素为:4.8345e-005

(3)大于0.5的随机数个数占总数的百分比。

程序如下:

disp(['大于0.5的随机数个数占总数的百分比为',num2str(size(find(x>0.5))/size(x)*100),'%'])

大于0.5的随机数个数占总数的百分比为:50.0567%

8、 分别用3种不同的数值方法求解线性方程组。(提示:LU函数、inv函数)??6x?5y?2z?5u??4??9x?y?4z?u?13?3x?4y?2z?2u?1 ??3x?9y?2u?11 方法一:

采用LU分解:

A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2]; b=[12,-6,4,0]'; [L,U]=lu(A); x=U\\(L\\b)

x =

7.1667 -0.7222 -21.3056 -14.0000

方法二: QR分解:

A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2]; b=[12,-6,4,0]'; [Q,R]=qr(A); x=R\\(Q\\b)

x =

7.1667 -0.7222 -21.3056 -14.0000

方法三:

Cholesky分解:

A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2]; b=[12,-6,4,0]'; R=chol(A)

??? Error using ==> chol Matrix must be positive definite.

命令执行时,出现错误信息,说明A为非正定矩阵。

x3?cosx?xlogx9、 求函数f(x)?在(0,1)内的最小值。 xe程序如下:

X=fminbnd('(x.^3+cos(x)+x*log10(x))/exp(x)',0,1)

X = 0.6638

10、

已知x=6,y=5,利用符号表达式:z?x?1。(提示:定义符号常

3?x?y数x?sym('6'),y?sym('5'))

程序如下: x=sym('6'); y=sym('5');

z=(x+1)/(sqrt(3+x)-y) z = -7/2

?11、

已知:P1??01?10??00(1)B?P1?P2?A。 程序如下:

syms a b c d e f g h i; A=[a,b,c;d,e,f;g,h,i]; P1=[0,1,0;1,0,0;0,0,1]; P2=[1,0,0;0,1,0;1,0,1]; B=P1*P2*A

运行结果: B =

[ d, e, f] [ a, b, c] [ a + g, b + h, c + i]

0???10,P??1?2??0???100??a10?,A?01????d???gbc?ef?h?求: i??

本文来源:https://www.bwwdw.com/article/vvjv.html

Top