首页 > 代码库 > MATLAB训练

MATLAB训练

实验1

 

1、 已知矩阵

(1)提取第1行,第2列元素。

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

 A(1,2)

 ans =

2提取第3列元素

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

 A(:,3)

ans =

3

5

7

9

(3)提取第一行到第3行中位于第2列和最后一列的元素

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

 A(1:3,2:end)

 ans =

     2     3     4

     4     5     6

     6     7     8

(4)A的转置

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

 A‘

ans =

     1     3     5     7

     2     4     6     8

     3     5     7     9

     4     6     8     0

5A进行左右翻转和上下翻转

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

 fliplr(A)

ans =

     4     3     2     1

     6     5     4     3

     8     7     6     5

     0     9     8     7

flipud(A)

ans =

     7     8     9     0

     5     6     7     8

     3     4     5     6

     1     2     3     4

(6)A顺时针旋转90

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

 rot90(rot90(rot90(A)))

ans =

     7     5     3     1

     8     6     4     2

     9     7     5     3

     0     8     6     4

(7)A变形为2*4*2的矩阵

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

 A=reshape(A,2,4,2)

 A(:,:,1) =

     1     5     2     6

     3     7     4     8

 A(:,:,2) =

     3     7     4     8

     5     9     6     0

(8)抽取A的主对角线上方第2条对角线

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

 diag(A(1:2,3:4))

ans =

     3

     6

(9)生成大小和A相等的全0阵,全1

 zeros(4,4)

 ans =

     0     0     0     0

     0     0     0     0

     0     0     0     0

     0     0     0     0

 ones(4,4)

  ans =

       1     1     1     1

       1     1     1     1

       1     1     1     1

       1     1     1     1

(10)利用A12*2的单位阵生成矩阵

 

(11)用向量10.58.5 替换A中的元素,A的大小不变

 

12)删除A的第1列和第3

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

A(:,[1,3])=[]

A =

     2     4

     4     6

     6     8

     8     0

 

2、生成3阶单位阵;生成主对角线上元素为123的三阶对角阵。

 diag([1 1 1])

 

ans =

 

     1     0     0

     0     1     0

     0     0     1

 diag([1 2 3])

 

ans =

 

     1     0     0

     0     2     0

     0     0     3

 

3、已知矩阵

1)求A+BA-B5AAB的积,AB的数值积。

 A=[5 3 5;3 7 4;7 9 8];

>> B=[2 4 2;6 7 9;8 3 9];

>> A+B

 

ans =

 

     7     7     7

     9    14    13

    15    12    17

 

>> A-B

 

ans =

 

     3    -1     3

    -3     0    -5

    -1     6    -1

 

>> A*B

libmwblas: load error: D:\matlab\bin\win32\atlas_Athlon.dll

Caught "std::exception" Exception message is:

D:\matlab\bin\win32\atlas_Athlon.dll

>> A.*B

 

ans =

 

    10    12    10

    18    49    36

    56    27    72

(2)A的平方,A中各元素平方,

 

(3)2为底,以A中每个元素为指数得出的矩阵。

 A=[5 3 5;3 7 4;7 9 8];

 sqrt(A)

 ans =

    2.2361    1.7321    2.2361

    1.7321    2.6458    2.0000

2.6458    3.0000    2.8284

C=[2^5 2^3 2^5;2^3 2^7 2^4;2^7 2^9 2^8]

C =

       32     8    32

   8   128    16

   128   512   256

 

4求下列表达式的值

 

 

5a=[-1,0.5,0]b=[-3.4,3,-6],求 a<b, a>=b, a==b, a~=b, a<=0

 

MATLAB训练