0
我有一个矩阵被分配变量a。矩阵尺寸必须一致,但它们是正确的
矩阵的尺寸为< 112 * 92 UINT8>
因此我跑以下代码
b = a'; c = b .*a;
然而,可以说,尺寸不匹配,其我无法解析原因为什么
我有一个矩阵被分配变量a。矩阵尺寸必须一致,但它们是正确的
矩阵的尺寸为< 112 * 92 UINT8>
因此我跑以下代码
b = a'; c = b .*a;
然而,可以说,尺寸不匹配,其我无法解析原因为什么
您显示的示例是执行元素乘法,其中两个矩阵必须具有相同的形状。
从你对@Marcin的问题给出的答案我假设你最初试图做矩阵乘法a*b
矩阵尺寸是兼容的,并收到你提到的eroor消息。导致此消息的问题与矩阵维度无关:对于uint8
类型的矩阵,Matlab不支持矩阵乘法运算符,只是将此类型的矩阵乘以标量的过载。实际上,对于任何整数类型都是如此。
如果你想乘整数类型的矩阵,必须转换每到一个浮点型,繁殖并投退,例如:
c = uint8(single(a)*single(b'));
它不会工作,因为了''的尺寸为112x92和大小'b'是92x112。也许而不是'。*'操作符,你的意思是'*'? – Marcin
@Marcin我用过*但它不起作用。它给出了mtimes的错误并不完全支持整数类 – aceminer
您正在使用什么版本的MATLAB? – chappjc