我有这两个向量:
alpha = 1 1 1 1 1 1 1 1 1 f_uv = 193 193 194 192 193 193 190 189 191
当我这样做时:
alphaf_uv = alpha * f_uv'
我收到错误消息:
"??? Error using ==> mtimes Integers can only be combined with integers of the same class, or scalar doubles."
有趣的是,如果我在控制台中定义相同的向量并尝试在那里进行乘法,则不会出现此错误.
alpha
由我定义并f_uv
从PNG图像中的一些像素获得.
假设它们都是开头的整数矩阵,f_uv'
可能不是.
尝试:
alphaf_uv = double(alpha) * double(f_uv')
如果它仍然存在,请告诉我们.
根据您的需要,您可能需要在alphaf_uv
之后返回整数类型.
这里的重要线索是这样的:
alpha由我定义,f_uv是从png图像中的某些像素获得的.
这很大程度上意味着f_uv数据以uint8的形式出现.WHOS命令将验证.在命令行中定义它时,默认情况下矢量将为Double.这就是为什么你看到"相同"矩阵之间的行为差异.