MATLAB: How to horizontally concatenate the cells of a cell array with different contents into a string.

horzcat

Hi All,
I have a cell array as the one below:
EXTR =
20×3 cell array
{[ 550]} {[2]} {'GAM'}
{[ 600]} {[2]} {'GAM'}
{[ 650]} {[2]} {'GAM'}
{[ 700]} {[2]} {'GAM'}
{[ 750]} {[2]} {'GAM'}
{[ 800]} {[2]} {'GAM'}
{[ 850]} {[2]} {'GAM'}
{[ 900]} {[2]} {'GAM'}
{[ 950]} {[2]} {'GAM'}
{[1000]} {[2]} {'GAM'}
{[1100]} {[2]} {'GAM'}
{[1200]} {[2]} {'GAM'}
{[1300]} {[2]} {'GAM'}
{[1400]} {[2]} {'GAM'}
{[1500]} {[2]} {'GAM'}
{[1600]} {[2]} {'GAM'}
{[1700]} {[2]} {'GAM'}
{[1800]} {[2]} {'GAM'}
{[1900]} {[2]} {'GAM'}
{[2000]} {[2]} {'GAM'}
How is it possible to create a cell array that looks like this:
EXTR =
20×3 cell array
{'550 2 GAM'}
{'600 2 GAM'}
{'650 2 GAM'}
.....
In words, I would like all my columns to be combined into one where their contents are a string with a single space between them.
I have tried things in the like of horzcat(EXTR{:}), however they are not working for this case, possibly because not all contents are of uniform type…
Thanks for your help in advance,
KMT.

Best Answer

c={{[ 550]} {[2]} {'GAM'}
{[ 600]} {[2]} {'GAM'}}
c=cellfun(@string,c)
join(c)
command window:
>> COMMUNITY
c =
2×1 string array
"550 2 GAM"
"600 2 GAM"
>>