필터 지우기
필터 지우기

Appending one cell array to non-zero cells of another

조회 수: 2 (최근 30일)
Eli Dim
Eli Dim 2015년 7월 2일
댓글: Eli Dim 2015년 7월 2일
I have a cell array FINAL_OUTPUT < 50x1 cell > and another one called indexing as shown in the attached file. How can I append the indexing column inside the non-empty cells of FINAL_OUTPUT? In the end, I would like to have FINAL_OUTPUT{1,1} having size 3x3 FINAL_OUTPUT{2,1} having size < 1x3 > etc...and the empty cells of FINAL_OUTPUT should remain empty.
  댓글 수: 3
Eli Dim
Eli Dim 2015년 7월 2일
편집: Eli Dim 2015년 7월 2일
Here is a sample set. Thank you for your assistance. The idea is that the rows of indexing should be appended to the non-zero rows of FINAL_OUTPUT
Eli Dim
Eli Dim 2015년 7월 2일
these are the indices of FINAL_OUTPUT to which each row of indexing corresponds.

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

채택된 답변

Stephen23
Stephen23 2015년 7월 2일
편집: Stephen23 2015년 7월 2일
>> out = cellfun(@(F,I)[F,num2cell(I)], FINAL_OUTPUT(check_not_empty), indexing, 'UniformOutput',false);
>> out{1}
ans =
'A' [ 110] [1]
'B' [ 110] [2]
'C' [2.8422e-14] [3]
>> out{2}
ans =
'A' [56.5000] [1]
>> out{3}
ans =
'A' [55] [1]
'B' [55] [2]
'C' [55] [3]
And of course to allocate back into the original cell array, just use indexing:
FINAL_OUTPUT(check_not_empty) = out;

추가 답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2015년 7월 2일
out=cellfun(@(x,y) [x y],FINAL_OUTPU,indexing,'un',0)
  댓글 수: 1
Eli Dim
Eli Dim 2015년 7월 2일
Thank you for your answer, but this does not work since the arguments FINAL_OUTPUT and indexing are not of the same size.

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

카테고리

Help CenterFile Exchange에서 Sequence Alignment에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by