文档库 最新最全的文档下载
当前位置:文档库 › 实验二Matlab矩阵的初等运算与其答案

实验二Matlab矩阵的初等运算与其答案

实验二Matlab矩阵的初等运算与其答案
实验二Matlab矩阵的初等运算与其答案

实验二 Matlab矩阵的初等运算实验目的:掌握Matlab的运算方法

实验内容:

在Matlab命令窗口输入:

H1=ones(3,2) H2=zeros(2,3) H3=eye(4)

观察以上各输入结果,并在每式的后面标注其含义。

>> format compact

>> H1=ones(3,2),disp('3行2列的全1矩阵') H1 =

1 1

1 1

1 1

3行2列的全1矩阵

>> H2=zeros(2,3),disp('2行3列的全零矩阵') H2 =

0 0 0

0 0 0

2行3列的全零矩阵

>> H3=eye(4),disp('4阶的单位矩阵') H3 =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

4阶的单位矩阵

已知

123

456

??

=??

??

Q,[]

789

=

P,

1

??

=??

??

R,3

=

S,试把这四个矩阵组合为

一个大矩阵,看看有几种组合方式?8

>> format compact

>> Q=[1 2 3;4 5 6];P=[7 8 9];R=[1;0]; S=3; >> [Q,R;P,S]

ans =

1 2 3 1

4 5 6 0

7 8 9 3

>> [R,Q;P,S]

ans =

1 1

2 3

0 4 5 6

7 8 9 3

>> [Q,R;S,P]

ans =

1 2 3 1

4 5 6 0

3 7 8 9

>> [R,Q;S,P]

ans =

1 1

2 3

0 4 5 6

3 7 8 9 >> [S,P;R,Q]

ans =

3 7 8 9

1 1

2 3

0 4 5 6 >> [S,P;Q,R]

ans =

3 7 8 9

1 2 3 1

4 5 6 0 >> [P,S;R,Q]

ans =

7 8 9 3

1 1

2 3

0 4 5 6 >> [P,S;Q,R]

ans =

7 8 9 3

1 2 3 1 4 5 6 0

建立一个字符串向量,删除其中的大写字母。提示:利用find函数和空矩阵。>> a='ABCDefgijKLMN123'

a =

ABCDefgijKLMN123

>> k=find(a>='A'&a<='Z')

k =

1 2 3 4 10 11 12 13

>> a(k)=[]

a =

efgij123

在命令窗中分别输入who和whos,观察检查结果是否与所得结果相符。

>> who

Your variables are:

H1 H2 H3 P Q R S a ans k

>> whos

Name Size Bytes Class Attributes

H1 3x2 48 double

H2 2x3 48 double

H3 4x4 128 double

P 1x3 24 double

Q 2x3 48 double

R 2x1 16 double

S 1x1 8 double

a 1x8 16 char

ans 3x4 96 double

k 1x8 64 double

已知矩阵

13125

4709

7162

82113

??

??

??

=

??

??

??

S,计算以下表达式的结果,体会*,^,sqrtm,expm

与.*,.^,sqrt,exp的区别。

(1) r1=S^2, r2=2.^S , r3=S.^2,

(2) u1=sqrtm(S), v1=u1*u1

(3) u2=sqrt (S), v2=u2.*u2

(4) u3=expm(S), v3=logm(u3)

(5) u4=exp(S), v4=log(u4)

>> S=[1 3 12 5;4 7 0 9;7 1 6 2;8 2 11 3]

S =

1 3 1

2 5

4 7 0 9

7 1 6 2

8 2 11 3

>> r1=S^2

r1 =

137 46 139 71

104 79 147 110

69 38 142 62

117 55 195 89

>> r2=2.^S

r2 =

2 8 4096 32

16 128 1 512

128 2 64 4

256 4 2048 8 >> r3=S.^2

r3 =

1 9 144 25

16 49 0 81

49 1 36 4

64 4 121 9

>> u1=sqrtm(S)

u1 =

+ - - -

+ + + -

- + + +

- + - +

>> v1=u1*u1

v1 =

- + - +

+ - - +

+ - + -

+ - -

>> u2=sqrt (S)

u2 =

>> u3=expm(S)

u3 =

+008 *

>> v3=logm(u3)

v3 =

>> u4=exp(S)

u4 =

+005 *

>> v4=log(u4)

v4 =

1 3 1

2 5

4 7 0 9

7 1 6 2

8 2 11 3

对中定义的矩阵S完成以下变换,输出变换后的矩阵:

(1) 将矩阵S上下翻转

(2) 将矩阵S左右翻转

(3) 将矩阵S重组为一个2行8列的矩阵

(4) 将矩阵S整体逆时针旋转90°

(5) 提取矩阵S对角线上的元素

(6) 建立一个对角阵T,对角线上的元素为S对角线上的元素,其余元素为0

(7) 取出矩阵S的左下三角部分

(8) 取出矩阵S的右上三角部分

(9) 把矩阵S的元素按列取出排成一行

>> S=[1 3 12 5;4 7 0 9;7 1 6 2;8 2 11 3] S =

1 3 1

2 5

4 7 0 9

7 1 6 2

8 2 11 3 >> flipud(S)

ans =

8 2 11 3

7 1 6 2

4 7 0 9

1 3 1

2 5

>> fliplr(S)

ans =

5 12 3 1

9 0 7 4

2 6 1 7

3 11 2 8

>> reshape(S,2,8)

ans =

1 7 3 1 1

2 6 5 2

4 8 7 2 0 11 9 3

>> rot90(S)

ans =

5 9 2 3

12 0 6 11

3 7 1 2

1 4 7 8 >> diag(S)

ans =

1

7

6

3

>> T=diag(S)

T =

1

7

6

3 >> T=diag(T)

T =

1 0 0 0

0 7 0 0

0 0 6 0

0 0 0 3 >> tril(S)

ans =

1 0 0 0

4 7 0 0

7 1 6 0

8 2 11 3 >> triu(S)

ans =

1 3 1

2 5

0 7 0 9

0 0 6 2

0 0 0 3

>> S(:)'

ans =

1 4 7 8 3 7 1

2 12 0 6 11 5 9 2 3

已知矩阵A=[1 3 5],B=[2 4 6]

(1) 求C=A+B,D=A-2,E=B-A

>> format compact

>> A=[1 3 5],B=[2 4 6]

A =

1 3 5

B =

2 4 6 >> C=A+B,D=A-2,E=B-A C =

3 7 11

D =

-1 1 3

E =

1 1 1 >> %都是按元素群运算

(2) 求F1=A*3,F2=A.*B,F3=A./B,F4=A.\B,F5=B.\A,F6=B.^A,F7=2./B,

F8=B.\2.

>> F1=A*3

F1 =

3 9 15

>> %按矩阵运算

>> F2=A.*B

F2 =

2 12 30

>> %按元素群运算A点乘B

>> F3=A./B

F3 =

>> %按元素群运算A各个元素右除B

>> F4=A.\B

F4 =

>> %按元素群运算A各个元素左除B

>> F5=B.\A

F5 =

>> %按元素群运算B各个元素左除A

>> F6=B.^A

F6 =

2 64 7776

>> %按元素群运算B各个元素的A次幂

>> F7=2./B

F7 =

>> %按元素群运算2右除B

>> F8=B.\2

F8 =

>> %按元素群运算B各个元素左除2

(3) 求Z1=A*B’,Z2=B’*A观察以上各输出结果,比较各种运算的区别,并在每式的后面标注其含义。

>> Z1=A*B'

Z1 =

44

>> %按矩阵运算A乘以B的转置

>> Z2=B'*A

Z2 =

2 6 10

4 12 20

6 18 30

>> %按元素群运算B的转置乘以A

已知矩阵

14813

3659

27128

??

??

=---

??

??

---

??

I,

5432

6238

1397

-

??

??

=--

??

??

--

??

J,求H1=I*J’,

H2=I’*J,H3=I.*J并求它们的逆阵。(1)H1=I*J’

>> format compact

>> I=[1 4 8 13;-3 6 -5 9;2 -7 -12 -8]

I =

1 4 8 13

-3 6 -5 9

2 -7 -12 -8

>> J=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7] J =

5 4 3 -2

6 -2 3 -8

-1 3 -9 7

>> H1=I*J' H1 =

19 -82 30

-24 -117 129

-38 54 29 >> det(H1)

ans =

+004

>> inv(H1)

ans =

(2)H2=I’*J

>> H2=I'*J

H2 =

-15 16 -24 36

63 -17 93 -105

22 6 117 -60

127 10 138 -154

>> det(H2)

ans =

因为H2的行列式接近于零,H2没有逆矩阵

(3)H3=I.*J

>> H3=I.*J

H3 =

5 1

6 24 -26

-18 -12 -15 -72

-2 -21 108 -56

>> pinv(H3)

ans =

因为H3为一个非满秩的矩阵,所以H3没有逆矩阵,而有一个伪逆矩阵.

已知矩阵

1.1 3.2 3.40.6

0.6 1.10.6 3.1

1.30.6 5.50.0

-

??

??=-

??

??

??C

(1) 用指令检查C的阶数;

>> format compact

>> C=[ ; ; ]

C =

0 >> [m,n]=size(C)

m =

3

n =

4

矩阵C是一个3行4列的矩阵.

(2) 找出C(2, 3)的值;

>> C(2,3)

ans =

(3) 找出值为的元素的下标。>> [a,b]=find(C==

a =

2

3

1

b =

1

2

4

a为行下标,b为列下标。

求下列表达式的值。

(1)

2

2sin85

1

1

z

e

=

+

,注意:Matlab当中三角函数的运算按弧度进行。

>> Z1=2*sin(85*pi/180)/(1+exp(2)) Z1 =

(2)

(

1

2ln

2

z x

=,其中

212

0.455

i

+

??

=??

-??

x

>> format compact >> x=[2 1+2i; 5] x =

+

>> Z2=1/2*log(x+sqrt(1+x)) Z2 =

+

(3) ()0.30.23sin 0.32

a a

e e z a -=

?+ , 3.0, 2.9, 2.8,...,2.8,2.9,3.0a =--- >> format compact >> a=:: a =

Columns 1 through 9

Columns 10 through 18

Columns 19 through 27

Columns 28 through 36

0 Columns 37 through 45

Columns 46 through 54

Columns 55 through 61

>> Z3=(exp.*a)-exp.*a))/2.*sin(a+ Z3 =

Columns 1 through 9

Columns 10 through 18

Columns 19 through 27

Columns 28 through 36

0 Columns 37 through 45

Columns 46 through 54

Columns 55 through 61

求下列联立方程的解

3x + 4y - 7z - 12w = 4 5x - 7y + 4z + 12w = -3 x + 8z - 5w = 9

-6x + 5y - 2z + 10w = -8

解:令A=[3 4 -7 -12;5 -7 4 12;1 0 8 -5;-6 5 -2 10] X=[x;y;z;w] B=[4;-3;9;-8] X=A\B >> format compact

>> A=[3 4 -7 -12;5 -7 4 12;1 0 8 -5;-6 5 -2 10];B=[4;-3;9;-8]; X=A\B X =

(1) 列写2×2阶的单位矩阵I ,4×4阶的魔方矩阵M 和4×2阶的全幺矩阵A ,

全零矩阵B 。 >> format compact

>> I=eye(2),A=ones(4,2),B=zeros(4,2),M=magic(4) I = 1 0 0 1 A = 1 1 1 1 1 1 1 1 B = 0 0 0 0 0 0 0 0 M = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1

(2) 将这些矩阵拼接为6×6阶的矩阵C :

'I A C B M ??

=??

??

>> format compact

>> I=eye(2);A=ones(4,2);B=zeros(4,2);M=magic(4);C=[I,A';B,M] C =

1 0 1 1 1 1 0 1 1 1 1 1 0 0 16

2

3 13 0 0 5 11 10 8

0 0 9 7 6 12

0 0 4 14 15 1

(3) 取出C的第2,4,6行,组成3×6阶的矩阵C1,取出第2,,4,6列,组

成6×3阶的矩阵C2。

>> format compact

>> C1=C([2,4,6,],:),C2=C(:,[2,4,6,])

C1 =

0 1 1 1 1 1

0 0 5 11 10 8

0 0 4 14 15 1

C2 =

0 1 1

1 1 1

0 2 13

0 11 8

0 7 12

0 14 1

(4) 求D=C1C2及D1 =C2C1。

>> format compact

>> D=C1*C2, D1=C2*C1

D =

1 35 35

0 313 281

0 281 345

D1 =

0 0 9 25 25 9

0 1 10 26 26 10

0 0 62 204 215 29

0 0 87 233 230 96

0 0 83 245 250 68

0 0 74 168 155 113

相关文档