필터 지우기
필터 지우기

Merge two cells of different size but have one rows in common

조회 수: 4 (최근 30일)
Yao Lionel
Yao Lionel 2023년 1월 25일
답변: Sarthak 2023년 3월 6일
Hello Guys,
I have two Matlab cells that I have one row in common. I have to merge to Add to the first the uncommon rows of the second one.
commonValue=intersect(r_ptf{12,:},r_ptf3{12,:});
Could someone help me out
  댓글 수: 4
Yao Lionel
Yao Lionel 2023년 1월 25일
@Dyuman Joshi is it a good answer for you to help me out
dpb
dpb 2023년 1월 25일
When it comes to cell arrays, it's pretty-much impossible to write generic code w/o knowing the content since it could be anything.
As @Dyuman Joshi requested, for somebody to be able to help, we'll need to see a small sample case that illustrates what the content of the two cell arrays is...it doesn't need (and shouldn't be) huge; just make up a test case that illustrates wht your situation is...only 10 or so rows and columns would be more than enough; but it needs to be representative of the real thing.

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

답변 (1개)

Sarthak
Sarthak 2023년 3월 6일
Hi,
Here are the steps and the code you could refer:
% Find the common value
commonValue = intersect(r_ptf{12,:}, r_ptf3{12,:});
% Find the indices of the rows that have the common value in both cells
idx1 = find(ismember(r_ptf{12,:}, commonValue));
idx2 = find(ismember(r_ptf3{12,:}, commonValue));
% Remove the rows with the common value from the second cell
r_ptf3(idx2,:) = [];
% Merge the two cells by adding the uncommon rows of the second cell to the first cell
r_ptf = [r_ptf; r_ptf3];
Refer to the following documentation for ismember:

카테고리

Help CenterFile Exchange에서 Data Type Identification에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by