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 表示标量。因此,您得到了标量和矩阵之间的乘积。
如果我们在 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 表示标量。因此,您得到了标量和矩阵之间的乘积。