matlab 错误行为中用于乘法的 mtimes 运算符

mtimes operator for multiplication in matlab wrong behavior

如果我们在 matlab 中将变量 a 定义为 a = [1 2],则 a 表示为维度为 1x2 double 的矩阵。现在,如果我们在 matlab 中将变量 b 定义为 b = 3,则 b 表示为维度为 1x1 double 的矩阵。 现在,如果我们使用标准乘法运算符 "mtimes" a*b,结果是 [3 6]。我期待它会抛出尺寸不一致的错误,但它正在工作,尽管如果我们尝试 [1 2]*[3 4] 它会给出尺寸不一致的错误。为什么 matlab 在执行 a*b.

时不会在第一种情况下抛出错误

谢谢。

维度 1x1 表示标量。因此,您得到了标量和矩阵之间的乘积。