矩阵的建立

  1. 直接输入矩阵

image.png

  1. >> A = [1,2,3;4,5,6;7,8,9]
  2. A =
  3. 1 2 3
  4. 4 5 6
  5. 7 8 9
  1. 利用已有矩阵建立

    1. >> A = [1,2,3;4,5,6;7,8,9];
    2. >> B = [-1,-2,-3;-4,-5,-6;-7,-8,-9];
    3. >> C = [A,B;B,A]
    4. C =
    5. 1 2 3 -1 -2 -3
    6. 4 5 6 -4 -5 -6
    7. 7 8 9 -7 -8 -9
    8. -1 -2 -3 1 2 3
    9. -4 -5 -6 4 5 6
    10. -7 -8 -9 7 8 9
  2. 可以用实部矩阵和虚部矩阵构成复数矩阵

    1. >> B = [1,2,3;4,5,6];
    2. >> C = [6,7,8;9,10,11];
    3. >> A = B + i*C
    4. A =
    5. 1.0000 + 6.0000i 2.0000 + 7.0000i 3.0000 + 8.0000i
    6. 4.0000 + 9.0000i 5.0000 +10.0000i 6.0000 +11.0000i
  3. 冒号表达式

image.png
等价于 linspace 函数

  • 这里面的 linspace 函数包含头和尾元素
    1. >> x = linspace(0,pi,6)
    2. x =
    3. 0 0.6283 1.2566 1.8850 2.5133 3.1416

    结构矩阵和单元矩阵

  1. 结构矩阵

image.png

  1. >> a(1).x1 = 10;
  2. >> a(1).x2 = 'liu';
  3. >> a(1).x3 = [11,21;34,78];
  4. >> a(2).x1=12;
  5. >> a(2).x2='wang';
  6. >> a(3).x3=[34,191;27,578];
  1. 单元矩阵

image.png

  1. >> b = {10, 'liu', [11,21;34,78]; 12,'wang',[34,191;27,578]}
  2. b =
  3. 2×3 cell 数组
  4. {[10]} {'liu' } {2×2 double}
  5. {[12]} {'wang'} {2×2 double}

矩阵操作

矩阵元素的引用方式

  1. 通过下标

    1. MATLAB中下标从1开始
      1. >> A(3,2) = 200
      image.png
      1. >> A = [1,2,3;4,5,6];
      2. >> A(4,5) = 10
      3. A =
      4. 1 2 3 0 0
      5. 4 5 6 0 0
      6. 0 0 0 0 0
      7. 0 0 0 0 10
  2. 通过序号来引用

image.png

  1. >> A = [1,2,3;4,5,6]
  2. A =
  3. 1 2 3
  4. 4 5 6
  5. >> A(3)
  6. ans =
  7. 2

image.png

  1. >> A = [1:3;4:6]
  2. A =
  3. 1 2 3
  4. 4 5 6
  5. >> D = sub2ind(size(A), [1,2;2,2], [1,1;3,2])
  6. D =
  7. 1 2
  8. 6 4

image.png

  1. >> [I,J] = ind2sub([3,3], [1,3,5])
  2. I =
  3. 1 3 2
  4. J =
  5. 1 1 2

使用冒号表达式获得子矩阵

image.png

  1. >> A = [1,2,3,4,5;6,7,8,9,10;11,12,13,14,15]
  2. A =
  3. 1 2 3 4 5
  4. 6 7 8 9 10
  5. 11 12 13 14 15
  6. >> A(1:2,:)
  7. ans =
  8. 1 2 3 4 5
  9. 6 7 8 9 10
  10. >> A(2:3,1:2:5)
  11. ans =
  12. 6 8 10
  13. 11 13 15

end 运算符:表示某一维的末尾元素下标

利用空元素删除矩阵的元素

image.png

  1. >> A = [1,2,3,0,0;7,0,9,2,6;1,4,-1,1,8]
  2. A =
  3. 1 2 3 0 0
  4. 7 0 9 2 6
  5. 1 4 -1 1 8
  6. >> A(:,[2,4]) = []
  7. A =
  8. 1 3 0
  9. 7 9 6
  10. 1 -1 8

该表矩阵的形状

image.png

  1. >> x = [23,45,65,34,65,34,33,11,51,23];
  2. >> y = reshape(x, 2, 5)
  3. y =
  4. 23 65 65 33 51
  5. 45 34 34 11 23

A(:) 将矩阵A的每一列元素堆叠起来,成为一个列向量

  • 等价于 reshape(A,x,1)
    1. >> A = [22, 32, 11; 55, 22, 44]
    2. A =
    3. 22 32 11
    4. 55 22 44
    5. >> B = A(:)
    6. B =
    7. 22
    8. 55
    9. 32
    10. 22
    11. 11
    12. 44