Info
This question is closed. Reopen it to edit or answer.
Link the 2th column of a matrix to the first depending on another matrix.
1 view (last 30 days)
Show older comments
Hello,
I'll just give a simple example to show what I want:
I have a matrix
A=[1,4;
2,5;
3,6];
And a long vector B with values 1,2 and 3 in an undefined order.
B = [1;3;1;2;1;3...];
From A and B I want to make one matrix C in which the first column is vector B and for the second column I want to let the values depend of the value of B. So if the value of B is 1 I want to get a 4, if 2 I want 5, if 3 I want to get 6. So each time the according value defined in matrix A.
Thanks in advance!
2 Comments
Answers (2)
Image Analyst
on 9 Feb 2015
How about this:
A=[1,4;
2,5;
3,6];
B = [1;3;1;2;1;3];
C = [B, A(B,2)]
C =
1 4
3 6
1 4
2 5
1 4
3 6
3 Comments
Image Analyst
on 10 Feb 2015
Let's say the number is 2.37. So you want row #2.37 from A. Can you explain exactly what it means to you to get the 2.37'th row from the second column of A?
Roger Stafford
on 10 Feb 2015
Perhaps what you need is
[~,ix] = ismember(B,A(:,1));
C = A(ix,:);
This assumes that every value in B is to be found somewhere in the first column of A. If not, you will receive an error message.
1 Comment
Image Analyst
on 10 Feb 2015
Oh, is that what he meant? I thought the B was the row numbers of A that he wanted to extract. I guess it's ambiguous but you might be right. Of course having the first column of A be row numbers didn't help clarify it, in fact it made it more ambiguous.
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!