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

조회 수: 1 (최근 30일)
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

답변 (1개)

Akira Agata
Akira Agata 2020년 5월 27일
편집: Akira Agata 2020년 5월 27일
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);

카테고리

Help CenterFile Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by