keep the same row data from two matrix

조회 수: 2 (최근 30일)
zhengyang shang
zhengyang shang 2021년 3월 25일
댓글: Jan 2021년 3월 25일
i have a total data matrix a(253*2), now i just want to keep the data from b(223*1) and get the whole data is c(223*2), which means that keep the same data between a&b. how should i do?
  댓글 수: 3
zhengyang shang
zhengyang shang 2021년 3월 25일
of course not, first need to find the data in the first row in the b and also in the first row in a, then output the c
Mathieu NOE
Mathieu NOE 2021년 3월 25일
OK so you have to use find the get the similar values from col 1 in a and b
ind = find(a(:,1) == b);
c = a(ind,:);

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

답변 (1개)

Jan
Jan 2021년 3월 25일
This is a job for intersect or ismember.
[~, ia, ib] = intersect(a(:, 1), b);
c = [b(ib), a(ia, 2)]
  댓글 수: 2
zhengyang shang
zhengyang shang 2021년 3월 25일
actually it still doesn't work because it tell me a and b are not contain same variable. i upload the data the matrix a is on the sheet1 and matrix b is on the sheet2.
Thanks so much!
Jan
Jan 2021년 3월 25일
I cannot follow you. The tables do share at least some common data. So my code is expected to work. If it does not work for you, please post your code.

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

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by