Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB中两个2向量相乘时的数值类型错误_Matlab_Vector_Math - Fatal编程技术网

MATLAB中两个2向量相乘时的数值类型错误

MATLAB中两个2向量相乘时的数值类型错误,matlab,vector,math,Matlab,Vector,Math,我有两个向量: 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 sam

我有两个向量:

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重新转换为整数类型。

也许f_uv是一个带有.toString()方法返回的“控制台值”的对象。在这种情况下,您可能需要将f_uv框为(int)。

这里的主要线索是:

alpha由me定义,f_uv由png图像中的一些像素获得


这在很大程度上意味着f_uv数据将作为uint8输入。WHOS命令将验证。当您在命令行中定义此项时,默认情况下,向量将加倍。这就是为什么您会看到“相同”矩阵之间的行为差异。

使用double快速提问这会影响准确性吗?i、 我会从0.159变为双(0.159)=0.16吗?
alphaf_uv = double(alpha) * double(f_uv')