## Combining to two Cells

### Stephan Richtering (view profile)

on 13 Jan 2016
Latest activity Commented on by Star Strider

on 13 Jan 2016

### Brendan Hamm (view profile)

I 've scouring the web to find a solution but not much success
p = [{2323}]; k = {'hello'};
where I want pk = {'2323hello'}
Pretty much what the concatenate function in excel would do.
Thanks, Stephan

### Brendan Hamm (view profile)

on 13 Jan 2016

One of the issues you will face here is that what is stored in the cell array p is numeric data and concatenation of numeric data with character arrays will convert the numeric value to its ASCII representation.
>> A = [2323,'hello']
A =
hello
This is not what you are looking for. So, you need to convert the number to a character array using num2str:
>> A = [num2str(2323),'hello']
A =
2323hello
Now if this data is stored in cells we can simply concatenate the contents (which are the char arrays):
p = {2323}; % Brackets around {} are not necessary.
k = {'hello'};
A = {[num2str(p{:}),k{:}]}; % Convert num to a string, concatenate, place back in cell
If we were then to presume that these variables had a larger (but equal) size:
p = {2323;3434}
k = {'hello';'goodbye'}
for n = 1:length(p)
A(n) = {[num2str(p{n,1}),k{n,1}]};
end
disp(A)

#### 1 Comment

Stephan Richtering

### Stephan Richtering (view profile)

on 13 Jan 2016
Thanks Brendan. Your last solution is what I was working towards.
It also seems to work if p is a mixture of strings and numbers which is what I was looking for.

### Star Strider (view profile)

on 13 Jan 2016

Using sprintf is one option:
p = {2323}; k = {'hello'};
pk = {sprintf('%d%s', p{:}, char(k))}
pk =
'2323hello'

Stephan Richtering

### Stephan Richtering (view profile)

on 13 Jan 2016
Thanks for you answer Star, you're solution works.
Star Strider

on 13 Jan 2016
My pleasure.

### Vaibhav Awale (view profile)

on 13 Jan 2016

Hi,
This can be done using the following command:
>> pk = {[num2str(p{:}), k{:}]}
Hope this helps.
Regards,
Vaibhav

Stephan Richtering

### Stephan Richtering (view profile)

on 13 Jan 2016
Hi Vaibhav,
Thanks for the answer. Seems to work for that example but what if I didn't know if p was a number or string would this still work?
Thanks, Stephan
Vaibhav Awale

### Vaibhav Awale (view profile)

on 13 Jan 2016
Hi Stephan,
Interestingly "num2str" function returns the string if you give string as an input. So, this approach would work even when "p" is a string!
Regards,
Vaibhav