finding elements in a vector from another vector

155 vues (au cours des 30 derniers jours)
Paul Rogers
Paul Rogers le 18 Juil 2020
Commenté : Star Strider le 18 Juil 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

Réponse acceptée

Star Strider
Star Strider le 18 Juil 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 commentaires
Paul Rogers
Paul Rogers le 18 Juil 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
Star Strider
Star Strider le 18 Juil 2020
Noted.

Connectez-vous pour commenter.

Plus de réponses (1)

Fangjun Jiang
Fangjun Jiang le 18 Juil 2020
Modifié(e) : Fangjun Jiang le 18 Juil 2020
[~,y]=ismember(x,m)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by