Main Content

times, .*

说明

示例

C = A.*B 通过将对应的元素相乘来将数组 AB 相乘。AB 的大小必须相同或兼容

如果 AB 的大小兼容,则这两个数组会隐式扩展以相互匹配。例如,如果 AB 中的一个是标量,则该标量与另一个数组的每个元素相结合。此外,具有不同方向的向量(一个为行向量,另一个为列向量)会隐式扩展以形成矩阵。

C = times(A,B) 是执行 A.*B 的替代方法,但很少使用。它可以启用类的运算符重载。

示例

全部折叠

创建两个向量 AB,并按元素将这两个向量相乘。

A = [1 0 3];
B = [2 3 7];
C = A.*B
C = 1×3

     2     0    21

创建两个 3×3 数组 AB,并按元素将这两个数组相乘。

A = [1 0 3; 5 3 8; 2 4 6];
B = [2 3 7; 9 1 5; 8 8 3];
C = A.*B
C = 3×3

     2     0    21
    45     3    40
    16    32    18

创建行向量 a 和列向量 b,然后将它们相乘。1×3 行向量和 4×1 列向量组合起来产生 4×3 矩阵。

a = 1:3;
b = (1:4)';
a.*b
ans = 4×3

     1     2     3
     2     4     6
     3     6     9
     4     8    12

结果是 4×3 矩阵,矩阵中的每个 (i,j) 元素等于 a(j).*b(i)

a=[a1a2a3],b=[b1b2b3b4],          a.*b=[a1b1a2b1a3b1a1b2a2b2a3b2a1b3a2b3a3b3a1b4a2b4a3b4].

自 R2023a 开始提供

创建两个表并将它们相乘。行名称(如果两者中都存在)和变量名称必须相同,但顺序不必相同。输出的行和变量与第一个输入的顺序相同。

A = table([1;2],[3;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
A=2×2 table
          V1    V2
          __    __

    R1    1     3 
    R2    2     4 

B = table([4;2],[3;1],VariableNames=["V2","V1"],RowNames=["R2","R1"])
B=2×2 table
          V2    V1
          __    __

    R2    4     3 
    R1    2     1 

C = A .* B
C=2×2 table
          V1    V2
          __    __

    R1    1      6
    R2    6     16

输入参数

全部折叠

操作数,指定为标量、向量、矩阵、多维数组、表或时间表。输入 AB 必须具有相同的大小或具有兼容的大小(例如,A 是一个 M×N 矩阵,B 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小

  • 整数数据类型的操作数不能为复数。

表或时间表形式的输入必须满足以下条件: (自 R2023a 起)

  • 如果输入是表或时间表,则其所有变量都必须有支持该运算的数据类型。

  • 如果只有一个输入是表或时间表,则另一个输入必须为数值或逻辑数组。

  • 如果两个输入均为表或时间表,则:

    • 两个输入必须具有相同的大小,或其中一个必须为单行表。

    • 两个输入必须有相同名称的变量。但是,每个输入中的变量可以有不同的顺序。

    • 如果两个输入均为表,并且都有行名称,则其行名称必须相同。但是,每个输入中的行名称可以有不同的顺序。

    • 如果两个输入均为时间表,则其行时间必须相同。但是,每个输入中的行时间可以有不同的顺序。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | categorical | duration | calendarDuration | table | timetable
复数支持:

扩展功能

版本历史记录

在 R2006a 之前推出

全部展开