matlab - 在matlab中比较两个不同长度的向量

标签 matlab vector

我有两个向量,一个 12x1,另一个 2430x1。我想获取第一个向量的每个元素,并找到紧邻第二个向量中匹配元素的之后,并将其保存在第三个向量中。

示例:

V1 = [1, 2, 3]
V2 = [1.2, 2.3, 2.5, 3.3, 3.4, 3.7 ......]

我希望在每个相应的 V2 元素之后立即获得每个 V1 元素的值。然后我应该得到

V3 = [1.2, 2.3, 3.3]

最佳答案

您可以使用interp1将插值方法设置为'next':

%remove common elements
V3 = setdiff(V2,V1);
%get the next elements
result = interp1(V3,V3, V1,'next','extrap')

感谢@SardarUsama 的澄清和测试。

关于matlab - 在matlab中比较两个不同长度的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44486529/

相关文章:

Matlab to workspace 和 rms 值不同

algorithm - 如何在不同目录的多个图像中读取和运行算法?

vector - 三.JS |如何找出两个向量之间的XYZ旋转?

c++ - 使用模板时如何从 std::vector 中删除元素?

java - 如何在 JAVA 中将元素添加到另一个列表(或 vector )时自动将其添加到一个列表(或 vector )

performance - Matlab计算Vector的反射

c++ - 在 C++ 中使用指向动态分配对象的指针 vector 时如何避免内存泄漏?

python - 用于计算 Gamma 指数的库? (最好使用 R 或 Python,但任何语言都可以)

php - 可以在同一个 git 存储库中存储两种不同类型的代码吗?

algorithm - Matlab算法问题