MATLAB 矩阵

  • 矩阵

    矩阵是数字的二维数组。
    在MATLAB中,您可以通过在每行中以逗号或空格分隔的数字输入元素并使用分号来标记每行的结尾来创建矩阵。
    例如,让我们创建一个4×5矩阵一-
    
    a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    a =
          1     2     3     4     5
          2     3     4     5     6
          3     4     5     6     7
          4     5     6     7     8
    
  • 引用矩阵的元素

    为了引用矩阵mx的第m行第n列中的元素,我们写-
    
    mx(m, n);
    
    例如,指代元件2在第二行和5个列,所述矩阵的一个,如在上一节中创建的,我们输入-
    
    a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
    a(2,5)
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    ans =  6
    
    为了引用在第m的所有元素个列,我们A型(:,米)。
    让我们创建一个列向量v,从4元个矩阵A的行-
    
    a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
    v = a(:,4)
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    v =
          4
          5
          6
          7
    
    您也可以选择在米元素次到n个列,为此我们写-
    
    a(:,m:n)
    
    让我们创建一个较小的矩阵,以吸收第二列和第三列中的元素-
    
    a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
    a(:, 2:3)
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    ans =
          2     3
          3     4
          4     5
          5     6
    
    以相同的方式,您可以创建一个子矩阵,该子矩阵采用矩阵的子部分。
    
    a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
    a(:, 2:3)
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    ans =
          2     3
          3     4
          4     5
          5     6
    
    以相同的方式,您可以创建一个子矩阵,该子矩阵采用矩阵的子部分。
    例如,让我们创建一个子矩阵sa,取一个−的内部子部分。
    
    3     4     5     
    4     5     6     
    
    为此,请写-
    
    a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
    sa = a(2:3,2:4)
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    sa =
          3     4     5
          4     5     6
    
  • 删除矩阵中的行或列

    您可以通过为该行或列分配一组空的方括号[]来删除矩阵的整个行或列。基本上,[]表示一个空数组。
    例如,让我们删除-的第四行
    
    a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
    a( 4 , : ) = []
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    a =
          1     2     3     4     5
          2     3     4     5     6
          3     4     5     6     7
    
    接下来,让我们删除-的第五列
    
    a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
    a(: , 5)=[]
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    a =
          1     2     3     4
          2     3     4     5
          3     4     5     6
          4     5     6     7
    
    - 在此示例中,让我们创建一个3×3矩阵m,然后将复制该矩阵的第二行和第三行两次以创建4×3矩阵。
    使用以下代码创建脚本文件-
    
    a = [ 1 2 3 ; 4 5 6; 7 8 9];
    new_mat = a([2,3,2,3],:)
    
    尝试一下
    运行文件时,它显示以下结果-
    
    new_mat =
          4     5     6
          7     8     9
          4     5     6
          7     8     9
    
  • 矩阵运算

    在本节中,让我们讨论以下矩阵运算-
    矩阵的加减法
    
    a = [ 1 2 3 ; 4 5 6; 7 8 9];
    b = [ 7 5 6 ; 2 0 8; 5 7 1];
    c = a + b
    d = a - b
    
    尝试一下
    矩阵的除法
    
    a = [ 1 2 3 ; 4 5 6; 7 8 9];
    b = [ 7 5 6 ; 2 0 8; 5 7 1];
    c = a / b
    d = a \ b
    
    尝试一下
    矩阵的标量运算
    
    a = [ 10 12 23 ; 14 8 6; 27 8 9];
    b = 2;
    c = a + b
    d = a - b
    e = a * b
    f = a / b
    
    尝试一下
    矩阵的转置
    
    a = [ 10 12 23 ; 14 8 6; 27 8 9]
    b = a'
    
    尝试一下
    联级矩阵
    
    a = [ 10 12 23 ; 14 8 6; 27 8 9]
    b = [ 12 31 45 ; 8 0 -9; 45 2 11]
    c = [a, b]
    d = [a; b]
    
    尝试一下
    矩阵乘法
    
    a = [ 1 2 3; 2 3 4; 1 2 5]
    b = [ 2 1 3 ; 5 0 -2; 2 3 -1]
    prod = a * b
    
    尝试一下
    矩阵乘法
    
    a = [ 1 2 3; 2 3 4; 1 2 5]
    b = [ 2 1 3 ; 5 0 -2; 2 3 -1]
    prod = a * b
    
    尝试一下
    矩阵的行列式
    
    a = [ 1 2 3; 2 3 4; 1 2 5]
    det(a)
    
    尝试一下
    矩阵的逆
    
    a = [ 1 2 3; 2 3 4; 1 2 5]
    inv(a)
    
    尝试一下