Finding the position of a row vector in an array
1 view (last 30 days)
Show older comments
Hi
I have a 1x127 row vector in variable S and have read a 500x127 array from excel spreadsheet into variable V. Then i'm checking if S exists in V using function ' ismember '. If it returns a value 1, I need to find the location of S in the excel spreadsheet and then replace it by new vector Y.
For example:
Consider a small array,
A=[1 0 1 1 1;
1 1 0 1 0;
1 0 1 1 0;
0 1 0 1 1;
0 0 1 0 1];
S=[1 0 1 1 0];
val=ismember(S,A);
Y=[1 1 1 1 1];
This will return 1. Now how can I find the location of [1 0 1 1 0] which is 3rd row here and then insert Y inplace of [1 0 1 1 0] in A, so that the modified matrix will be:
A=[1 0 1 1 1;
1 1 0 1 0;
1 1 1 1 1;
0 1 0 1 1;
0 0 1 0 1];
I want to know the location of S in A considering S as one single entity.
Thank you.
0 Comments
Accepted Answer
Azzi Abdelmalek
on 20 May 2013
Edited: Azzi Abdelmalek
on 20 May 2013
[idx,idx]=ismember(A,[1 0 1 1 0],'rows')
A(logical(idx),:)=[1 1 1 1 1]
More Answers (0)
See Also
Categories
Find more on Spreadsheets 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!