arrays - 如何在Matlab中找到最接近指定索引的索引

标签 arrays matlab vector indexing

我在 MATLAB 中有两个向量,A 和 B。B 包含一些索引(从 1 到末尾)。我有一个随机索引 R(在向量索引的范围内)。我想写一个函数(或语句)来选择 A[z],其中 z 是最接近 R 的数字(即索引),但不包含在 B 中。

例子:

A = [2 3 6 1 9 7 4 5 8]
B = [3 4 5 6 7 8]
R = 5

函数必须返回3,因为最近的索引是2,因为5-2<9-5且2不在B中,所以A[2] = 3;

谢谢

最佳答案

改进 jacob 的答案,这是正确的解决方案:

[result, z] = min(abs(R - setxor(B, 1:numel(A))))

在您的情况下,生成 z = 2result = A(2) = 3

关于arrays - 如何在Matlab中找到最接近指定索引的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13228152/

相关文章:

matlab - 在 matlab 中扩展向量类

c++ - vector 调整大小行为复制和赋值

javascript - 如何从数组添加到 <SVG> 元素

python - Numpy 数组填充随机数,这样您只需沿 x/y 轴将值更改 1

javascript - 如何在字符串中搜索字符串数组中包含的所有值? (JavaScript)

matlab - MATLAB 中垂直线之间的阴影

matlab - 强制 MATLAB mmreader 或 avireader 使用不同的编解码器?

c++ - 根据另一个数字的整除率返回子数组中的索引

java - (Java)在打砖 block 游戏中使用 vector 碰撞

javascript - 如何在javascript中的对象内部连接子对象数组?