如何将字符串数组转换为字符串的单元格数组?

时间:2012-08-23 01:23:06

标签: matlab

我有一个字符串数组:

array = ['123';'abc';'uvw'];

我想将它转换为字符串的单元格数组:

cellArr = {'123';'abc';'uvw'};

我的想法有两种方法:分配一个单元格数组,然后使用for循环或

cellArr = arrayfun(@(x) array(x,:),1:size(array,1),'UniformOutput',false)';

但我不确定是否有内置函数可以提高效率。

1 个答案:

答案 0 :(得分:2)

使用cellstr()。只需cellstr (array)即可。它也适用于Octave。

或者,更复杂但有趣的方式是

mat2cell (array, ones (size (array, 1), 1), size (array, 2))

在Octave中可以

mat2cell (array, ones (rows (array), 1), columns (array))