i am trying to create a matrix by combining two matricies however, i want to combine them by maching elements from both matricies such as
a=[1 2;
1 4;
5 8]
b=[4 4;
8 9;
2 9]
combined=[4 1;
8 5;
2 1]
i know that this should be simple but i have just started learning matlab and i wasnt able to figure it out

댓글 수: 2

Stephen23
Stephen23 2020년 5월 23일
@ma sd: please explain the rules that you used to "combine" those matrices.
ma sd
ma sd 2020년 5월 23일
i was using the second column form a matched with the first column from b

댓글을 달려면 로그인하십시오.

 채택된 답변

the cyclist
the cyclist 2020년 5월 23일
편집: the cyclist 2020년 5월 23일

0 개 추천

I'm not certain this is what you want, but this is my best guess:
[tf,idx] = ismember(b(:,1),a(:,2))
complete = [a(idx,2) a(idx,1)];
It seems like you are almost trying to use the fewest words possible to describe your question. Instead, you should try to give a complete, detailed description of what you are trying to do, so that we don't have to guess.

댓글 수: 2

ma sd
ma sd 2020년 5월 23일
i apologize for that what i was trying to explain is hat i have two matricies that i want to merge by matching the second column from a with the first column from b. the resultant i want is a matrix with two columns, the first being the matched value and the second is the first column from a.
the cyclist
the cyclist 2020년 5월 23일
편집: the cyclist 2020년 5월 23일
FYI, there are a couple other ways to do what you wanted, after finding the correct sorting. For example
complete = [b(:,1) a(idx,1)];
or
complete = fliplr(a(idx,:));
Since you are new at MATLAB, it is good to learn a few different ways of manipulating arrays.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

질문:

2020년 5월 23일

편집:

2020년 5월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by