MATLAB: Converting multiple cells to an equivilent character vector defining the original array

cellcharacterMATLABpreallocate

As part of an app, I need to use a cell array containing characters to generate a string of text that when pasted in the command window would generate the original cell array as a variable.
input example: the 1×4 cell array named 'legText' with the below contents.
{'Indexed'} {'Forsterite'} {'Enstatite'} {'Diopside'}
Desired output (as a character vector)
legText={'Indexed','Forsterite','Enstatite','Diopside'};
I've been doing this by appending to a character vector in a loop without preallocation, but this is pretty inefficient. Is there a better method?
Thanks, Jessica.

Best Answer

fprintf('legText = cellstr(%s);\n', mat2str(string(legText)))
or
fprintf('legText = {'); fprintf('''%s'',', legText{:}); fprintf('};\n');