当前位置 主页 > 网站技术 > 代码类 >

    matlab中乘法“*”和点乘“.*”;除法“/”和点除“./”的联系和

    栏目:代码类 时间:2019-12-08 18:10

    一,*和.*的联系和区别。

    1,在进行数值运行和数值乘矩阵,这两种没有区别,例如:a*b=a.*b; a*B=a.*B; B*a=B.*a (其中小写字母表示数值,大写字母表示矩阵,下同)。

    2,在处理矩阵乘矩阵时,*表示普通的矩阵乘法,要求前面矩阵的列数等于后面矩阵的行数;.*表示两个矩阵对应元素相乘,要求两个矩阵行数列数都相等。例如:

    >> [1,2,3]*[1,2;3,4;5,6]    % 矩阵乘法
    ans =
      22  28
    
    >> [1,2,3].*[4,5,6]      % 矩阵点乘
    ans =
       4  10  18
    
    

    二,/和./的联系和区别。

    1,数值运行时,这两种没有区别,例如:a/b=a./b

    2,数值与矩阵运行时,要分数值在前还是在后。

        (1),数值在前,只能用./
        (2),数值在后,这两种一样:A/b=A./b

    3,矩阵除矩阵,A/B可粗略地看作A*inv(B)(强烈不建议进行求逆运算);A./B表示A矩阵与B矩阵对应元素相除,所以要求A,B行数列数相等。例如:

    >> [4,5]/[1,2;3,4]          % 矩阵除法
    ans =
      -0.5000  1.5000
    
    >> [4,5,6]./[1,2,3]          % 矩阵点除
    ans =
      4.0000  2.5000  2.0000
    
    

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。