finding elements in a vector from another vector

80 Ansichten (letzte 30 Tage)
Paul Rogers
Paul Rogers am 18 Jul. 2020
Kommentiert: Star Strider am 18 Jul. 2020
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

Akzeptierte Antwort

Star Strider
Star Strider am 18 Jul. 2020
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 Kommentare
Paul Rogers
Paul Rogers am 18 Jul. 2020
I think it's best we don't edit comment so people can read different options and figure it out based on their version

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Fangjun Jiang
Fangjun Jiang am 18 Jul. 2020
Bearbeitet: Fangjun Jiang am 18 Jul. 2020
[~,y]=ismember(x,m)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by