MATLAB Answers

0

Finding exact rank of a matrix element

Asked by Poulomi Ganguli on 30 Jul 2019
Latest activity Commented on by Poulomi Ganguli on 30 Jul 2019
Hello:
I have two matrices A and B. I am attaching some parts of original matrices. My question is: how to find elements of matrix B, in column 2 of A to get the corresponding values in column 1 of A?

  4 Comments

Show 1 older comment
yes the desired output is:
61380 3
61480 4
61180 1
61280 2
61580 5
Guillaume
on 30 Jul 2019
1) Please use valid matlab syntax to create your example, so we don't spend time wondering what the matrices actually are. I suspect, but it's not obvious that:
A = [1 61180
2 61280
3 61380
4 61480
5 61580];
B = [61380
61480
61180
61280
61580];
It also makes it easy for us to copy/paste directly into matlab. Any complication you introduce make it less likely for you to get an answer.
2) What do you call the rank of an element? And which elements are you talking about?
Is your question actually: How do I look up the elements of vector B in column 2 of A to get the corresponding values in column 1 of A?
Sorry, yes, it is exactly same as in your explanation in comment (2). To look up the elements of vector B in column 2 of A to get the corresponding values in column 1 of A. But A and B are dismilar in size, dimension of B is 516x1 and A is 241x2. Thanks

Sign in to comment.

1 Answer

Answer by Guillaume
on 30 Jul 2019
 Accepted Answer

look up the elements of vector B in column 2 of A to get the corresponding values in column 1 of A. But A and B are dismilar in size, dimension of B is 516x1 and A is 241x2
In that case,
[found, where] = ismember(B, A(:, 2));
assert(all(found), 'Some elements of B were not found in A');
B(:, 2) = A(where, 1);

  1 Comment

Exactly, what I wanted; you saved my life.

Sign in to comment.