2013-12-26 3 views
2

Я хочу преобразовать структуру в массив ячеек, где все записи преобразуются в строки, включая числа. Если взять пример MATLAB:Matlab преобразовать структуру в массив ячеек строк

s = 
    category: 'tree' 
     height: 37.4000 
     name: 'birch' 

Я хочу, чтобы преобразовать это в

c = 
    'tree' 
    '37.4000' 
    'birch' 

, где все записи преобразуются в строки, включая номера. Функция struct2cell (s) преобразует s в:

ans = 
    'tree' 
    [37.4000] 
    'birch' 

Есть ли быстрый способ получить от s до c?

ответ

3

Если вы хотите, чтобы все в строку, вы можете использовать num2str с cellfun:

cellfun(@num2str, struct2cell(a), 'UniformOutput', false) 

Результат будет массив ячеек строк.

+0

Perfect - спасибо – user2524828

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