2016-07-14 2296 views
0

我有这段代码。我想找到两组基站中最近的节点(ABS和RBS)。我这样做的方式是这样的,但查找功能给我一个错误。两个距离矩阵的大小相同。将OR运算符与Find函数结合使用

closest_dist=min(distance_ua(iduser,:),distance_ur(iduser,:)); 
closest_node=(find(distance_ua(iduser,:)==closest_dist)) || (find(distance_ur(iduser,:)==closest_dist)); 
+0

不,实际上它们是两个不同的矩阵。一个是“distance_ua”,另一个是“distance_ur”。 –

回答

2

find返回索引值的阵列和||仅适用于可将其转化为逻辑标量的值。整数数组不能转换为逻辑标量。

[1 2 3] || [1 2 3] 

操作数的||并且& &运算符必须可以转换为逻辑标量 的值。

如果你想使用逻辑或,你最好使用find之后将直接在逻辑阵列要执行的操作。此外,您需要使用|而不是||来比较两个逻辑阵列。

closest_node = find(distance_uid(iduser, :) == closest_dist | ... 
        distance_ur(iduser, :) == closest_dist);