查看单个帖子
旧 2019-12-07, 23:17   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
默认 在MATLAB中将两个2向量相乘时数值类型错误

我有这两个向量:

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重新转换为整数类型。
poster 当前离线   回复时引用此帖