主要内容

mtimes,,,,*

矩阵乘法

描述

例子

C=一个*b是矩阵的产物一个b。如果一个是m-p,b是一个p-bby-n矩阵,然后C是由M-b-n矩阵定义的

C (( 一世 ,,,, j = k = 1 p 一个 (( 一世 ,,,, k b (( k ,,,, j

这个定义说C(i,j)是内在产品一世一个jTH列b。您可以使用MATLAB编写此定义®结肠操作员AS

c(i,j)= a(i,:)*b(:,j)
对于非大规模一个b,列的数量一个必须等于行的数量b。矩阵乘法为不是非量表输入的普遍交换。那是,A*b通常不等于b*a。如果至少一个输入是标量,则A*b等同于A.*b并且是可交换的。

C= mtimes(一个,,,,b是执行的另一种方法A*b,但很少使用。它使运营商的载荷超载。

例子

全部收缩

创建一个1 x-4行矢量,一个,和4 x-1列向量,b

a = [1 1 0 0];b = [1;2;3;4];

一个时代b

c = a*b
C = 3

结果是1 x-1标量,也称为点产品或者内部产品矢量一个b。或者,您可以计算点产品 一个 Å b 使用语法点(A,B)

b时代一个

c = b*a
C =4×41 1 0 0 2 2 0 0 3 3 0 0 4 4 0 0 0

结果是一个4 x-4矩阵,也称为外产品矢量一个b。两个向量的外产物, 一个 b ,返回矩阵。

创建两个阵列,一个b

a = [1 3 5;2 4 7];b = [-5 8 11;3 9 21;4 0 8];

计算乘积一个b

c = a*b
C =2×324 35 114 30 52 162

计算第二行的内部产品一个和第三列b

a(2,:)*b(:,3)
ANS = 162

这个答案与C(2,3)

输入参数

全部收缩

操作数,指定为标量,向量或矩阵。

  • 如果至少一个输入是标量,则A*b等同于A.*b。在这种情况下,非大规模阵列可以是任何尺寸。

  • 对于非输入,一个b必须是二维数组,其中的列数一个必须等于行中的行数b

  • 如果一个一个或者b是整数类(INT16,,,,UINT8,…),然后另一个输入必须是标量。具有整数数据类型的操作数不能复杂。

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|逻辑|char|期间|日历
复杂的数字支持:万博1manbetx是的

输出参数

全部收缩

产品,作为标量,矢量或矩阵返回。大批C具有与输入相同数量的行一个以及与输入相同数量的列b。例如,如果一个是一个M-BY-0空矩阵和b是一个0-n空矩阵,然后A*b是零的mby-n矩阵。

提示

  • 带有链式矩阵乘法,例如a*b*c,您可以通过使用括号来决定操作的顺序来改善执行时间。考虑将三个矩阵乘以a*b*c, 在哪里一个是500 x-2,b是2 x 500,并且C是500 x-2。

    • 没有括号,运营顺序从左到右所以A*b首先计算,形成500 x 500矩阵。然后将此矩阵乘以C要达到500 x-2结果。

    • 如果您指定a*(b*c), 然后公元前首先要乘以2 by-2矩阵。小矩阵然后乘以一个要达到相同的500 x-2结果,但操作较少,中间内存使用量较少。

扩展功能

HDL代码生成
使用HDL Coder™生成用于FPGA和ASIC设计的Verilog和VHDL代码。

版本历史记录

在R2006a之前引入

展开全部