Reason in strcat documentation :
To enter characters in an array, strcat deletes the final ASCII-white space characters: space, tab, vertical tab, new line, carriage return, and Form feed. Keep trailing spaces when concatenating character arrays, use concatenation of horizontal arrays, [s1, s2, ..., sN] .
To enter an array of cells, strcat does not remove the strcat white space.
So: either use the rows of the cells (create a cell containing the row)
hi = {'hi'}; str = strcat({'Hello World '},hi)
or simple, parenthesized concatenation (will result in a string):
str = ['Hello World ',char(hi)]
source share