Finding whether the element of the array is present in the other array and finding the index value

1 vue (au cours des 30 derniers jours)
i have 2 arrays
p = -0.20000 -1.80000
v = 0.9000 0.30000 1.20000 1.50000 -1.80000
I have to compare both the array and finding the whether the element present in p is equal to the element present in v. It has to check each value ( negetive values also included )
if its a success then print the value and the index along it.
how to do it ?
i should get answer as -1.80000 and its index in both arrays
Please help, i am new to matlab

Réponses (1)

Akira Agata
Akira Agata le 27 Mai 2020
Modifié(e) : Akira Agata le 27 Mai 2020
Just in case, let me post an example.
If you don't need to think about tolerance, intersect function also works.
% Example (desired output: [-1.8 1.2])
p = [-0.2 -1.8 1.2];
v = [0.9 0.3 1.2 1.5 -1.8];
% Soution1:
[idx,loc] = ismember(p,v); % or ismembertol, if assuming tolerance
out = p(idx);
idx_v = loc(idx);
idx_p = find(idx);
% Solution2:
[out,idx_p,idx_v] = intersect(p,v);

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by