finding elements in a vector from another vector

163 次查看(过去 30 天)
I'd like to create a vector y with the positions of the elements of x in m.
i.e.
x=0 (first element of x) has and index of 1 in m. So y(1)=1
x=241 (second element of x) has index of 242 in x. So y(2)=242
m and x are in attached

采纳的回答

Star Strider
Star Strider 2020-7-18
Try this:
M = load('m.mat');
X = load('x.mat');
m = M.m;
x = X.x;
[~,y] = ismembertol(x, m, 1E-4)
producing:
y =
1
242
937
2001
3306
4695
6001
7065
7759
8001
I checked that separately for a few values using find, and it appears to produce the correct result.
.
  8 个评论
Paul Rogers
Paul Rogers 2020-7-18
I think it's best we don't edit comment so people can read different options and figure it out based on their version

请先登录,再进行评论。

更多回答(1 个)

Fangjun Jiang
Fangjun Jiang 2020-7-18
编辑:Fangjun Jiang 2020-7-18
[~,y]=ismember(x,m)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2014b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by