Matlab:如何使用冒号运算符将结构的单元数组转换为结构数组?

Yau*_*ich 7 matlab

假设有一个使用以下结构值初始化的单元数组.

% Phone book
phone_record{1} = struct('name', 'Bob', 'phone', '1233323');
phone_record{2} = struct('name', 'Mike', 'phone', '3245524');

% How to make such or similar one-liner work?
% phonebook(:) = phone_record{:}

% Expected:
% phonebook(1).name = 'Bob';
% phonebook(1).phone= '1233323';
% phonebook(2).name = 'Mike';
% phonebook(2).phone = '3245524';
Run Code Online (Sandbox Code Playgroud)

是否确实可以使用cell2struct或for循环索引完成此操作?可以使用交易或类似的吗?

注意:如果您不知道解决方案,请备用"最佳实践"提示或类似的"挥手".

And*_*ein 9

你可以使用cell2mat:

cell2mat(phone_record)
Run Code Online (Sandbox Code Playgroud)

ans =

包含字段的1x2结构数组:

名字
电话