struct2cell

函数功能:结构体转换为元胞数组

语法格式:

c = struct2cell(s)

如果s是m*n(m行n列)的二维的结构体数组,每个结构体含有p个域,则转换得到一个p*m*n的元胞数组c。

如果s是多维的,则得到的元胞数组的大小为[p size(s)]。

相关函数:cell2struct、cell2mat

>> s = struct('num1', 1, 'num2', 2, 'num3', 3);

>> s_arr = repmat(s, [4 5]);

>> size(s_arr)

ans = 4 5

>> c = struct2cell(s_arr);

>> size(c)

ans = 3 4 5

>> a = cell2mat(c);

通常,我们在使用load函数加载mat格式的数据文件时,得到的可能是个结构体元素,我们可以通过依次调用struct2cell、cell2mat把加载得到的数据文件转换成一个矩阵。

原文地址:https://www.cnblogs.com/AI-Algorithms/p/3669862.html