我有一个矩阵,它被赋予变量a。
矩阵的大小为< 112 * 92 uint8>
因此我运行了以下代码
b = a'; c = b .*a;
然而,据说维度与我无法解决的原因不匹配
答案 0 :(得分:1)
您展示的示例是执行元素乘法,其中两个矩阵必须具有相同的形状。
从您给@ Marcin的问题的答案中我假设您最初尝试进行矩阵乘法a*b
,其中矩阵维度是兼容的,并收到您提到的eroor消息。导致此消息的问题与矩阵维度无关:Matlab不支持类型为uint8
的矩阵的矩阵乘法运算符,只支持将此类型的矩阵乘以标量的重载。事实上,对于任何整数类型都是如此。
如果要将整数类型的矩阵相乘,则必须将每个矩阵转换为浮点类型,乘以并强制转换,例如:
c = uint8(single(a)*single(b'));