zoukankan      html  css  js  c++  java
  • Matlab的基本矩阵运算

    (1)加减、数乘

    >> a=[1,2;3,4];b=[5,6;7,8];
    >> a+b
    
    ans =
    
         6     8
        10    12
    >> a.*2
    
    ans =
    
         2     4
         6     8
    

    数乘时,写a.*2和a*2结果相同。

    (2)乘

    >> a*b
    
    ans =
    
        19    22
        43    50
    
    >> a.*b
    
    ans =
    
         5    12
        21    32
    

    a*b才是真正的矩阵乘法。

    (3)左除右除

     /是右除,是左除。

    >> a./b
    
    ans =
    
        0.2000    0.3333
        0.4286    0.5000
    
    >> a.
    
    ans =
    
        5.0000    3.0000
        2.3333    2.0000
    
    >> a/b
    
    ans =
    
        3.0000   -2.0000
        2.0000   -1.0000
    
    >> a
    
    ans =
    
        -3    -4
         4     5

    (4)求逆

    >> a*inv(b)
    
    ans =
    
        3.0000   -2.0000
        2.0000   -1.0000
    
    >> inv(a)*b
    
    ans =
    
       -3.0000   -4.0000
        4.0000    5.0000
    

    a/b=a*inv(b),a=inv(a)*b

    (5)转置

    >> c=[i,1;i+2,-i]
    
    c =
    
       0.0000 + 1.0000i   1.0000 + 0.0000i
       2.0000 + 1.0000i   0.0000 - 1.0000i
    
    >> c'
    
    ans =
    
       0.0000 - 1.0000i   2.0000 - 1.0000i
       1.0000 + 0.0000i   0.0000 + 1.0000i
    
    >> c.'
    
    ans =
    
       0.0000 + 1.0000i   2.0000 + 1.0000i
       1.0000 + 0.0000i   0.0000 - 1.0000i
    
    >> flipud(a)
    
    ans =
    
         3     4
         1     2
    
    >> fliplr(a)
    
    ans =
    
         2     1
         4     3
    
    >> rot90(a)
    
    ans =
    
         2     4
         1     3
    
    >> rot90(a,2)
    
    ans =
    
         4     3
         2     1
    
    >> rot90(a,-1)
    
    ans =
    
         3     1
         4     2

    (6)行列式、求阶梯形矩阵、秩

    >> det(a)
    
    ans =
    
        -2
    
    >> rref(a)
    
    ans =
    
         1     0
         0     1
    
    >> rank(a)
    
    ans =
    
         2

    (7)特征值

    [V,D]=eig(A)  V:特征向量,(分列而排)  D:特征值排列成的对角矩阵

    >> p=[1:4;2:5;3:6;4:7]
    
    p =
    
         1     2     3     4
         2     3     4     5
         3     4     5     6
         4     5     6     7
    
    >> [x,y]=eig(p)
    
    x =
    
        0.7752   -0.4667   -0.2866    0.3147
        0.3424    0.8360    0.0343    0.4275
       -0.0903   -0.2717    0.7913    0.5402
       -0.5231   -0.0975   -0.5390    0.6530
    
    
    y =
    
       -1.1652         0         0         0
             0   -0.0000         0         0
             0         0    0.0000         0
             0         0         0   17.1652
    
    >> det(p)
    
    ans =
    
      -6.9333e-33
    
    >> trace(p)
    
    ans =
    
        16
    
    >> det(x)
    
    ans =
    
        1.0000
    
    >> p*x(:,1)
    
    ans =
    
       -0.9032
       -0.3990
        0.1052
        0.6095
    
    >> y(1,1).*x(:,1)
    
    ans =
    
       -0.9032
       -0.3990
        0.1052
        0.6095
  • 相关阅读:
    UEditor用法
    String,StringBuffer与StringBuilder差异??
    TsFltMgr.sys其原因是,该系统蓝屏QQ计算机管理器!
    Linux编程实现守护进程
    开机黑屏 只显示鼠标 电脑黑屏 有只老鼠 举 [我们已经成功地解决了]
    页面背景图像的代码
    动态规划01背包问题
    关键部分CCriticalSection使用
    编程:获取股票实时行情数据大全
    iphone开发教程下载
  • 原文地址:https://www.cnblogs.com/maoerbao/p/11703055.html
Copyright © 2011-2022 走看看