Matlab:错误使用 * MTIMES (*) 不完全支持整数类。至少一个参数必须为标量

代码:

aa = sum(fea_a.*fea_a,2);
bb = sum(fea_b.*fea_b,2);
ab = fea_a * fea_b';

 

 

错误使用  * 
MTIMES (*) 不完全支持整数类。至少一个参数必须为标量。

出错 EuDist2 (line 47)
    ab = fea_a * fea_b';

出错 constructW (line 334)
                dist = EuDist2(fea(smpIdx,:),fea,0);

出错 constructW_W (line 7)
W = constructW(paviaU,options);

解决办法:

因为imread读入源图像为三维,所以不能进行D=A*X*A'。必须对读取的图像做I=im2double(I)。函数im2double将输入转换成double类型。如果输入是 uint8 unit16 或者是二值的logical类型,则函数im2double 将其值归一化到0~1之间。

你可能感兴趣的:(Matlab:错误使用 * MTIMES (*) 不完全支持整数类。至少一个参数必须为标量)