您的位置:首页 > 编程语言 > MATLAB

Matlab中矩阵的基本操作

2013-12-24 23:34 381 查看

(一)矩阵的基本操作

1、 生成一个3×3的矩阵A,它的元素为你任意指定的9个不同的正整数,计算A的行列式并将其赋值给变量b,若b0,求出矩阵B=。若b=0,重新选择A。

将所生成的矩阵A及B连在一起,构成一个3×6的矩阵,并付给变量C,在workspace中观察C的类型、大小以及当前值。并用save 命令将C存储为一个数据文件以备下列题目利用Load命令调用;

解:      A=[87,98,21;547,985,624;555,547,698]

A =

    87    98    21

   547   985   624

   555   547   698

>> b=det(A)

b =

    21445160

>> B=inv(A)

B =

    0.0161   -0.0027    0.0019

   -0.0017    0.0023   -0.0020

   -0.0115    0.0003    0.0015

>> C=[A B]

C =

   87.0000   98.0000   21.0000    0.0161   -0.0027    0.0019

  547.0000  985.0000  624.0000   -0.0017    0.0023   -0.0020

  555.0000  547.0000  698.0000   -0.0115    0.0003    0.0015

2、 利用load命令调出C并取出它的1-2行,2-4列的子块,另存为一个2×3的矩阵d,生成一个与d相同大小的随机矩阵矩阵e,计算d+e,

d-e,,.*e , ,将结果中所有的对角线元素全部换为0.5。

解:>> save C

>> load C

>> d=C(1:2;2:4)

>> d=C(1:2,2:4)

d =

   98.0000   21.0000    0.0161

  985.0000  624.0000   -0.0017

>> e=[21,45,87;74,87,32]

e =

    21    45    87

    74    87    32

>> d+e

ans =

  1.0e+003 *

    0.1190    0.0660    0.0870

    1.0590    0.7110    0.0320

>> d-e

ans =

   77.0000  -24.0000  -86.9839

  911.0000  537.0000  -32.0017

>> e'*d

ans =

  1.0e+004 *

    7.4948    4.6617    0.0000

    9.0105    5.5233    0.0001

    4.0046    2.1795    0.0001

>> (e'*d)^5

ans =

  1.0e+025 *

    2.1893    1.3533    0.0000

    2.6158    1.6169    0.0000

    1.1074    0.6846    0.0000

w=e'*d

w =

  1.0e+004 *

    7.4948    4.6617    0.0000

    9.0105    5.5233    0.0001

    4.0046    2.1795    0.0001

>> w(1,1)=0.5

w =

  1.0e+004 *

    0.0001    4.6617    0.0000

    9.0105    5.5233    0.0001

    4.0046    2.1795    0.0001

>> w(3,1)=0.5

w =

  1.0e+004 *

    0.0001    4.6617    0.0000

    9.0105    5.5233    0.0001

    0.0001    2.1795    0.0001

>> w(2,2)=0.5

w =

  1.0e+004 *

    0.0001    4.6617    0.0000

    9.0105    0.0001    0.0001

    0.0001    2.1795    0.0001

>> w(1,3)=0.5

w =

  1.0e+004 *

    0.0001    4.6617    0.0001

    9.0105    0.0001    0.0001

    0.0001    2.1795    0.0001

>> w(3,3)=0.5

w =

  1.0e+004 *

    0.0001    4.6617    0.0001

    9.0105    0.0001    0.0001

    0.0001    2.1795    0.0001

3、 完成下列计算:

解:(1)   >> a=[1 2 3 4;0 2 -1 1;1 -1 2 5]

a =

     1     2     3     4

     0     2    -1     1

     1    -1     2     5

>> b=[2 1 4 10;0 -1 2 0;0 1 2 -2]

b =

     2     1     4    10

     0    -1     2     0

     0     1     2    -2

>> w=b/2

w =

    1.0000    0.5000    2.0000    5.0000

         0   -0.5000    1.0000         0

         0    0.5000    1.0000   -1.0000

>> v=a+w

v =

    2.0000    2.5000    5.0000    9.0000

         0    1.5000         0    1.0000

    1.0000   -0.5000    3.0000    4.0000

>> e=[3 1 2 -1;0 3 1 0]

e =

     3     1     2    -1

     0     3     1     0

>> r=[1 0 5;0 2 0;1 0 1;0 3 0]

r =

     1     0     5

     0     2     0

     1     0     1

     0     3     0

(2)      >> t=[-1 0;1 5;0 2]

t =

    -1     0

     1     5

     0     2

>> q=e*r

q =

     5    -1    17

     1     6     1

>> p=q*t

p =

    -6    29

     5    32

4  

解:>> A=[3 1 0;-1 2 1;3 4 2]

A =

     3     1     0

    -1     2     1

     3     4     2

>> W=3*A

W =

     9     3     0

    -3     6     3

     9    12     6

>> B=[1 0 2;-1 1 1;2 1 1]

B =

     1     0     2

    -1     1     1

     2     1     1

>> V=W-B

V =

     8     3    -2

    -2     5     2

     7    11     5

>> X=V/2

X =

    4.0000    1.5000   -1.0000

   -1.0000    2.5000    1.0000

    3.5000    5.5000    2.5000

>> 

5、利用rand(4,6)命令生成一个随机矩阵T,求T的矩阵大小,每一行、每一列的最大值和最小值,整个矩阵的最大值与最小值;然后将整个矩阵的最大值所在位置的元素换为1000,将最小值所在位置的元素取为-1000。

将矩阵T的第一行元素提取出来另存为向量P,对P的元素的大小进行排序。

解:>> T=rand(4,6)

T =

    0.9501    0.8913    0.8214    0.9218    0.9355    0.0579

    0.2311    0.7621    0.4447    0.7382    0.9169    0.3529

    0.6068    0.4565    0.6154    0.1763    0.4103    0.8132

    0.4860    0.0185    0.7919    0.4057    0.8936    0.0099

>> q=max(T),p=max(T')'

q =

    0.9501    0.8913    0.8214    0.9218    0.9355    0.813

p =

    0.9501

    0.9169

    0.8132

    0.8936

>> qq=max(max(T)),pp=min(min(T))

qq =

    0.9501

pp =

    0.0099

>> T(1,1)=1000

T =

  1.0e+003 *

    1.0000    0.0009    0.0008    0.0009    0.0009    0.0001

    0.0002    0.0008    0.0004    0.0007    0.0009    0.0004

    0.0006    0.0005    0.0006    0.0002    0.0004    0.0008

    0.0005    0.0000    0.0008    0.0004    0.0009    0.0000

>> T(4,6)=-1000

T =

  1.0e+003 *

    1.0000    0.0009    0.0008    0.0009    0.0009    0.0001

    0.0002    0.0008    0.0004    0.0007    0.0009    0.0004

    0.0006    0.0005    0.0006    0.0002    0.0004    0.0008

    0.0005    0.0000    0.0008    0.0004    0.0009   -1.0000

 

>> Z=T(1,:)

Z =

  1.0e+003 *

    1.0000    0.0009    0.0008    0.0009    0.0009    0.0001

>> X=Z'

X =

  1.0e+003 *

    1.0000

    0.0009

    0.0008

    0.0009

    0.0009

    0.0001

>> C=sort(X)

C =

  1.0e+003 *

    0.0001

    0.0008

    0.0009

    0.0009

    0.0009

    1.0000

>> V=C'

V =

  1.0e+003 *

    0.0001    0.0008    0.0009    0.0009    0.0009    1.0000

>> 

6、生成一个3×5的矩阵K,它的第一行元素为从1到7的等距分布,第二行元素为从2到8的等距分布,第三行为从3到9的等距分布。找出K中所有大于5的元素,并将其全部赋值为-1。

解 :>> K=[linspace(1,7,5);linspace(2,8,5);linspace(3,9,5)]

K =

    1.0000    2.5000    4.0000    5.5000    7.0000

    2.0000    3.5000    5.0000    6.5000    8.0000

    3.0000    4.5000    6.0000    7.5000    9.0000

>> K(find(K>5))=-1

K =

    1.0000    2.5000    4.0000   -1.0000   -1.0000

    2.0000    3.5000    5.0000   -1.0000   -1.0000

    3.0000    4.5000   -1.0000   -1.0000   -1.0000

>> 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: