arrays - 有没有办法将双数组转换为结构数组?
问题描述
有没有办法将双数组转换为结构数组并将其放在一个字段下?
例如,假设我们从调用中得到一个双精度数组,cellfun
输出数组看起来像
data=[1,2;3,4];
我们能在struct
哪里得到一个 S
S=struct;
for i=1:numel(data)
S(i).data=data(i);
end
end
使用本机功能还是有效地获得 S?(最后视觉)
如果有方法,结果struct
数组可以保留原始双数组的维度吗?该方法可以应用于输出cellfun
为双数组的输出吗?
在我的特定应用程序中, mydata
是调用的(统一)输出,cellfun
当我设置 时S.data=cellfun(...)
,结果是一个 1 元素结构数组,其中S.data
m×n 双数组来自cellfun(...)
。我可以做些什么来分配数组元素?
(我手头的任务涉及每个查询处理 10k 个数据点,每个任务大约有 16 个查询。所以速度很重要。如果没有有效的方法,我会知道避免 struct 用于这种特定类型的任务。所以评论在这方面也很有帮助。)
解决方案
使用struct
和num2cell
:
data = [1,2;3,4];
S = struct ('data', num2cell(data));
推荐阅读
- php - 为什么我的活动在 octobercms 中不起作用?
- c# - 如何解决 Azure Active Directory 多个用户在同一浏览器中登录而不注销的问题?
- django - Docker 容器上的文件权限
- javascript - 我想调用另一个组件的方法
- r - 如何将嵌套的数据框列表转换为数据框?
- python - 为什么如果我用魔杖从pdf中提取图像jpg,它会使我在文本上变成黑色背景
- python - 如何在python字典中拆分值?
- python - 阅读 redmine 的最后一条评论
- swift - 使用扩展将数据转换为 UInt32
- asterisk - 应该使用哪个文件以星号开头以避免 g729 和 ulaw 编解码器的转码?我想最小化 CPU 负载