如何比较一个矩阵中的任何值与另一个矩阵中的任何值而不使用循环?

时间:2017-06-10 15:55:58

标签: matlab

在下面的代码中,我有x个4个节点的y坐标。前两个节点,即1和2属于类别c(矩阵c),而后两个节点,即3和4属于类别d(矩阵d)。 " DIST"表示所有节点之间的距离。在matlab中是否有任何命令可以判断c中的任何节点是否距离d中的任何节点的距离小于R,例如

if distance of any of the nodes in C from any of the nodes in D > R
%do this
end

我可以使用for循环但是寻找更短的方法。感谢

x=[1 2 4 4];
y=[3 5 6 1];
range=R
dist=[0.7 1.6 3.5 3.5; 2.9 0.7 1.6 4.7; 4.9 2.9 0.7 5.5; 3.8 4.3 4.5 0.7];
c=[1 2];
d=[3 4];

1 个答案:

答案 0 :(得分:0)

我不完全理解你的问题,但是从我得到的功能中你得到的是:

  • A>B - Matlab中的二元运算符比较元素
  • any - 如果任何元素为真,则返回true
  • pdist2(a,b) - 将矢量a中所有观测值的距离与另一幅矢量b中的所有观测值进行比较。

我很乐意以更准确的答案进行更新,但请提供您想要的完整示例。