how to select values of nx3 matrix where its index is equal to a value in other matrix

1 view (last 30 days)
Hi, I have two arrays the first has nx3 dimension, and the second is mx1 dimension. i need to select the first array fileds where the index of it is equal to second array value. this is what is tried so far:
[ fid, fdim]=size(f);
[ fidnew, fdimnew]=size(fnew);
for j=1:1:fid
if fid(j)==fnew(j)
FF=f;
end
end
then i have an error :
Index exceeds matrix dimensions.
Error in eee (line 26)
if fid(j)==fnew(j)
how i can solve this?

Answers (2)

Preethi
Preethi on 4 Oct 2018
hi,
try this
i=1
for j=1:1:fid
if j==fnew(j)
FF(i)=f(j)
i=i+1
end
end
since fid is a scalar fid(j) is giving error..i tired with 4x3 and 5x1 matrices, it worked

Stephen23
Stephen23 on 4 Oct 2018
Edited: Stephen23 on 4 Oct 2018
"how to select values of nx3 matrix where its index is equal to a value in other matrix"
As far as I can tell, you can do that with basic indexing:
mat = f(fnew,:)

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!