MATLAB Answers

Finding exact rank of a matrix element

6 views (last 30 days)
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
Poulomi Ganguli
Poulomi Ganguli on 30 Jul 2019
yes the desired output is:
61380 3
61480 4
61180 1
61280 2
61580 5
Guillaume
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?
Poulomi Ganguli
Poulomi Ganguli on 30 Jul 2019
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.

Accepted Answer

Guillaume
Guillaume on 30 Jul 2019
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

Poulomi Ganguli
Poulomi Ganguli on 30 Jul 2019
Exactly, what I wanted; you saved my life.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!