zoukankan      html  css  js  c++  java
  • matlab学习笔记10 一般运算符

    一起来学matlab-matlab学习笔记10

    10_1一般运算符

    觉得有用的话,欢迎一起讨论相互学习~Follow Me

    参考书籍
    《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷
    《MATLAB技术大全》葛超等编著 感谢葛老师的书籍,让我领略到matlab的高效

    MATLAB语言以前是一种专门为进行矩阵计算所设计的语言,在以后的各个版本中逐步扩充其各种功能。现在MATLAB不仅仅局限于矩阵计算领域,但其最基本、最重要的功能还是进行实数矩阵和复数矩阵的运算。 在MATLAB中几乎所有的运算符和操作符都是以矩阵为基本运算单元的,这和其他计算机语言有很大不同,这也是MATLAB的重要特点

    运算符

    矩阵的逆

    INV(X)

    矩阵的转置

    X'

    矩阵的加减法

    • 其基本形式为X+-Y,X和Y必须是同维度的矩阵,此时各对应元素相加减。如果X与Y的维数不同,则MATLAB将给出错误信息,提升用户两个矩阵的维数不匹配
    X=[2     3;
       4     5];
    Y=[3     4;
       4     3];
    X+Y
    X-Y
    
    ans =
    
         5     7
         8     8
    
    
    ans =
    
        -1    -1
         0     2
    

    矩阵的乘法

    • X*Y是两个矩阵X和Y的乘积,其中X和Y必须满足矩阵相乘的条件,即矩阵X的列数必须等于矩阵Y的行数。如果其中一个为1x1矩阵也合法,此时便是将每一个矩阵的元素都分别与这个数值相乘。
    X=[2     3;
       4     5];
    Y=[3     4;
       4     3];
    
    ans =
    
        18    17
        32    31
    
    
    ans =
    
         4     6
         8    10
    

    矩阵的点乘

    • X.* Y运算结果为两个矩阵的相应元素相乘,得到的结果与X和Y同维,此时X和Y也必须具有相同的维数,除非其中一个为1X1矩阵此时运算则与X*Y相同
    X=[2     3;
       4     5];
    Y=[3     4;
       4     3];
    X.*Y
    2.*X
    ans =
    
         6    12
        16    15
    
    
    ans =
    
         4     6
         8    10
    

    矩阵的乘方

    (1)x^Y表示,如果x为数,而Y为方阵,结果由各特征值和特征向量计算得到
    (2)X^y表示,如果X是方阵、y是一个大于1的整数,所得结果由X重复相乘y次得到;如果y不是整数,则将计算各特征值和特征向量的乘方。
    (3)如果X和Y都是矩阵,或X或Y不是 方阵 ,则会显示错误信息。

    X=[2     3;
       4     5];
    Y=[3     4;
       4     3];
    X^2
    X^1.5
    2^Y
    
    >> test_power
    
    ans =
    
        16    21
        28    37
    
    
    ans =
    
       5.9125 - 0.1007i   7.7970 + 0.0573i
      10.3960 + 0.0764i  13.7095 - 0.0434i
    
    
    ans =
    
       64.2500   63.7500
       63.7500   64.2500
    

    矩阵的数组乘方

    • X.^Y的计算结果为X中元素对Y中对应元素求幂,形成的矩阵与原矩阵维数相等,这里X和Y必须维数相等,或其中一个为数,此时运算法则等同于X^Y
    X=[2     3;
       4     5]
    Y=[3     4;
       4     3]
    X.^Y
    X =
    
         2     3
         4     5
    
    
    Y =
    
         3     4
         4     3
    
    
    ans =
    
         8    81
       256   125
    

    矩阵的左除

    A B称作矩阵A左除矩阵B,其计算结果大致与INV(A)B相同,但其算法却是不相同的。如果A是N×N的方阵,而B是N维列向量,或是由若干N维列向量组成的矩阵,则X=A B是方程AX=B的解,X与B的大小相同,对于X和B的每个列向量,都有AX(n)=B(n),此解是由高斯消元法得到的很显然,A EYE(SIZE(A))=INV(A)EYE(SIZE(A))=INV(A)。如果A是M×N的矩阵(M不等于N),B是M维列向量或由若干M维列向量组成的矩阵,则X=A B是欠定或超定方程AX=B的最小二乘解。A的有效秩L由旋转的QR分解得到,并至多在每列L个零元素上求解。

    A =[1     2;
        3     4]
    B =[2     3;
        3     2]
    AB
    
    A =
    
         1     2
         3     4
    
    
    B =
    
         2     3
         3     2
    
    
    ans =
    
       -1.0000   -4.0000
        1.5000    3.5000
    
    
    

    矩阵的右除

    B/A称为矩阵A右除矩阵B,其计算结果基本与B * INV(A)相同,但其算法是不同的,可以由左除得到,即:B/A=(A'B')' 实际上是方程XA=B的解 表示A的A的转置左除B的转置的结果的转置

    A =[1     2;
        3     4]
    B =[2     3;
        3     2]
    B/A
    (A'B')'
    
    A =
    
         1     2
         3     4
    
    
    B =
    
         2     3
         3     2
    
    
    ans =
    
        0.5000    0.5000
       -3.0000    2.0000
    
    
    ans =
    
        0.5000    0.5000
       -3.0000    2.0000
    

    矩阵的点除

    • 如果B和都是矩阵,且维数相同,则B./A就是B中的元素除以A中的对应元素,所得结果矩阵大小与B和A都相同;如果B和A中有一个为数,在结果为此数与相应的矩阵中的每个元素做运算,结果矩阵与参加运算的矩阵大小相同。
    A =[1     2;
        3     4]
    B =[2     3;
        3     2]
    B./A
    B./2
    
    A =
    
         1     2
         3     4
    
    
    B =
    
         2     3
         3     2
    
    
    ans =
    
        2.0000    1.5000
        1.0000    0.5000
    
    
    ans =
    
        1.0000    1.5000
        1.5000    1.0000
    

    矩阵的kronecker张量积

    • K=KRON(A,B)返回A和B的张量积,它是一个大矩阵,取值为矩阵A和B的元素间所有的可能积。如果A是mxn矩阵,而B是p×q矩阵,则KRON(A,B)是mp×nq的矩阵。例如,A是2×2的矩阵,则有下式成立:
      KRON(A,B)=[A(1,1)* B A(1,2)* B
      A(2,1)* B A(2,2)* B]
      如果A和B中有一个为稀疏矩阵,则只有非零元素会参与计算,所得的结果也是稀疏矩阵
    A =[1     2;
        3     4]
    B =[2     3;
        3     2]
    kron(A,B)
    
    A =
    
         1     2
         3     4
    
    
    B =
    
         2     3
         3     2
    
    
    ans =
    
         2     3     4     6
         3     2     6     4
         6     9     8    12
         9     6    12     8
    
    
  • 相关阅读:
    solr 的全量更新与增量更新
    solr 服务器的搭建
    Mysql 问题
    App 微信支付
    App 支付宝支付
    Linux 常见命令
    [备注] 钉钉使用教程
    PARAMETER和ARGUMENT的区别
    无界面浏览器
    URLs ...
  • 原文地址:https://www.cnblogs.com/cloud-ken/p/11712050.html
Copyright © 2011-2022 走看看