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

1 次查看(过去 30 天)
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