concatenate values from matrix and cell array

i have a matrix and a cell array
mtric =
1 2 3
4 5 6
7 8 9
cell_array =
aa bb cc
dd ee ff
gg hh ii
i wanted to combine both these as
new_out =
1 - aa 2 - bb 3 - cc
4 - dd 5 - ee 6 - ff
7 - gg 8 - hh 9 - ii

 Akzeptierte Antwort

Stephen23
Stephen23 am 3 Apr. 2019

1 Stimme

>> M = [1,2,3;4,5,6;7,8,9];
>> C = {'aa','bb','cc';'dd','ee','ff';'gg','hh','ii'};
>> F = @(n,c) sprintf('%d - %s',n,c{:});
>> Z = arrayfun(F,M,C,'uni',0)
Z =
'1 - aa' '2 - bb' '3 - cc'
'4 - dd' '5 - ee' '6 - ff'
'7 - gg' '8 - hh' '9 - ii'

Weitere Antworten (1)

madhan ravi
madhan ravi am 3 Apr. 2019

1 Stimme

strcat(""+mtric,{'-'}, string(cell_array)) % string array
cellstr(strcat(""+mtric,{'-'}, string(cell_array))) % cell array

4 Kommentare

what is that double qoutes " "
it shows error in matlab
madhan ravi
madhan ravi am 3 Apr. 2019
Which version of matlab are you using? If not use string() instead of "".
Elysi Cochin
Elysi Cochin am 3 Apr. 2019
Bearbeitet: Elysi Cochin am 3 Apr. 2019
i'm using 2016a
string is also not recognized
says undefined function or variable
strcat(sprintfc('%d',mtric),{'-'},cell_array)

Melden Sie sich an, um zu kommentieren.

Kategorien

Produkte

Version

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by