Azzera filtri
Azzera filtri

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

1 visualizzazione (ultimi 30 giorni)
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 Commento
Jan
Jan il 14 Dic 2018
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'}

Accedi per commentare.

Risposta accettata

Jan
Jan il 14 Dic 2018
Modificato: Jan il 14 Dic 2018
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));

Più risposte (0)

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by