将Matlab结构数组转换为单元数组

use*_*800 2 matlab cell-array

可以将Matlab结构数组转换为单元数组而无需遍历数组吗?

我希望struct数组中的每个结构都成为单元数组中的一个单元格.命令struct2cell似乎没有这样做,因为它将结构中的每个字段分成一个单独的单元格.

这已发布到:

Raf*_*iro 5

尝试num2cell:

myStructCell = num2cell(myStruct);
Run Code Online (Sandbox Code Playgroud)

例如:

>> myStruct(1).name = 'John';
>> myStruct(2).name = 'Paul';
>> myStruct

myStruct = 

1x2 struct array with fields:

    name

>> myStructCell = num2cell(myStruct)

myStructCell = 

    [1x1 struct]    [1x1 struct]

>> myStructCell{1}

ans = 

    name: 'John'

>> myStructCell{2}

ans = 

    name: 'Paul'

>> myStructCell{2}.name

ans =

Paul
Run Code Online (Sandbox Code Playgroud)