2013-02-25 2 views
4

У меня есть массив ячеек с числами и строковыми данными. Мне нужно преобразовать числа в строки, чтобы я мог использовать функцию unique().Преобразование чисел в строки в массиве ячеек в MATLAB

a = {1; 4; 'lf'} 
result --> {'1', '4', 'lf'}; % Now unique() function can be used 

Есть онлайн-решения для обработки случая, когда столбец был численным. Но они не могут использоваться здесь, так как по крайней мере 1 строка имеет строку в качестве данных. Следует оценивать векторизованное решение.

ответ

8

Использование cellfun() для применения num2str() к каждому элементу клеток:

result = cellfun(@num2str, a, 'UniformOutput', false) 

Это (с UniformOutput набором для false) будет автоматически обрабатывать нескалярный, символ элементы массива.

Смежные вопросы