필터 지우기
필터 지우기

Merge row and column headers into column header or Get Index Names

조회 수: 1 (최근 30일)
Kevin Teh
Kevin Teh 2018년 12월 14일
편집: Jan 2018년 12월 14일
Hi
This might be an easy qn sorry. So for simple example i have two headers. One 4x1 row header and one 1x4 column header as such
monkey rabbit tiger snail
monkey
rabbit
tiger
snail
What i want to achieve is 16 combination with the word vs in the middle. This will be the final column header. So output will be:
monkey vs monkey monkey vs rabbit monkey vs tiger monkey vs snail rabbit vs monkey ............ snail vs tiger snail vs snail
Is there a way to quickly get the names of an index ie monkey vs monkey =1,1 snail vs snail 16 x 16. Thank you for any help.
col = {'monkey', 'rabbit', 'tiger', 'snail'};
row = {'monkey', 'rabbit', 'tiger', 'snail'}';
Kevin
  댓글 수: 1
Jan
Jan 2018년 12월 14일
It would be useful if you reveal, what the inputs are. "One 4x1 row header" is less clear than posting, if it is e.g.:
col = {'monkey', 'rabbit', 'tiger', 'snail'}

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

채택된 답변

Jan
Jan 2018년 12월 14일
편집: Jan 2018년 12월 14일
col = {'monkey', 'rabbit', 'tiger', 'snail'};
row = {'monkey', 'rabbit', 'tiger', 'snail'}; % can differ from col
Result = cell(numel(col), numel(row));
for c = 1:numel(col)
for r = 1:numel(r)
Result{c, r} = [col{c}, ' vs ', row{r}];
end
end
Or without a loop:
nCol = numel(col);
nRow = numel(row);
Result = strcat(repmat(col(:), 1, nRow), {' vs '}, repmat(row, nCol, 1));

추가 답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by