Convert MATLAB char array to string

2020-03-12 03:55发布

问题:

Starting with the MATLAB char array, A:

A(1,1) = 'A'
A(1,2) = 'P'
A(1,3) = 'R'
A(2,1) = 'M'
A(2,2) = 'A'
A(2,3) = 'Y'

How can this be converted to a cell of strings, B, such that:

B{1} = 'APR'
B{2} = 'MAY'

Edit: A is a cell and using the function cellstr gives the error

Error using cellstr (line 23)
S must be 2-D. 

回答1:

Use the following function: http://www.mathworks.com/help/matlab/ref/cellstr.html

>> B =  cellstr(A)

B = 

    'APR'
    'MAY'

>> B{1}

ans =

APR


回答2:

For a 3D char array T

B = cellstr(T(1,:,:))

Gives the error

Error using cellstr (line 23)
S must be 2-D.

Instead assign it to a 2D matrix first, then use 'cellstr' as Franck suggested above.

A(:,:) = T(1,:,:)
B = cellstr(A)