1
A
回答
1
如果我理解正确的话,你有struct
例如像数组中此
s(1:2,1:3) = struct('a',1,'b',2);
现在你想有一个不同的结构,只有拥有该领域b
[newS(1:2,1:3).b] = deal(s.b);
编辑
如果你所需要的只是输出(如果字段值是标量),你可以做foll欠款:
out = zeros(size(s));
out(:) = cat(1,s.b)
1
我会借Jonas的例子。您可以使用[]
来收集特定字段。
% Create structure array
s(1:2,1:3) = struct('a',1,'b',2);
% Change values
for idx = 1:prod(size(s))
s(idx).a = idx;
s(idx).b = idx^2;
end
% Gather a specific field and reshape it to the size of the original matrix
A = reshape([s.a],size(s));
B = reshape([s.b],size(s));
0
我也有类似的问题,但该领域的在我的结构数组的内容被改变,我使用标记我的数据长度字符串,所以当我提取字段的内容,我想的小区变长的字符串。
该代码使用getfield和arrayfun来完成这项工作,但我认为它比需要更复杂。
sa = struct('name', {'ben' 'frank', 'betty', 'cybil', 'jack'}, 'value', {1 1 2 3 5})
names = arrayfun(@(x) getfield(x, 'name'), sa, 'UniformOutput', false)
任何人都可以提出更清洁的替代品吗?在映射工具箱中的extractfield似乎做了这项工作,但它不是基础MATLAB系统的一部分。
更新:我已经回答了我自己的嵌入问题。
names = {sa.name}
相关问题
- 1. 从矩阵列表中提取矩阵
- 2. 矩阵数据结构
- 3. 从矩阵中提取数据
- 4. 从3D矩阵和matlab索引数组中提取2D矩阵
- 5. R:使用索引矩阵从数组中提取矩阵
- 6. 提取矩阵
- 7. 提取矩阵
- 8. 提取矩阵
- 9. 从矩阵提取列
- 10. C中的结构矩阵
- 11. 从模型视图矩阵中提取比例矩阵
- 12. 从另一个矩阵中提取矩阵值
- 13. 如何从火炬/ LUA大矩阵中提取矩阵
- 14. 矩阵的Java数据结构?
- 15. 从R中的矩阵列表中获取矩阵的维数
- 16. Excel,从矩阵中获取数据
- 17. 从单应矩阵提取变换和旋转矩阵?
- 18. 在C++中从矩阵中提取列
- 19. Java动态矩阵结构
- 20. MatLab的矩阵结构
- 21. 结构矩阵的malloc - C
- 22. 相应的矩阵结构
- 23. Matlab的:在结构矩阵
- 24. 使用结构的矩阵
- 25. 提取构成的子矩阵
- 26. 从多维矩阵中提取块
- 27. 从numpy矩阵中提取一行
- 28. 从混淆矩阵中提取表
- 29. 从TXT文件中提取矩阵
- 30. 如何从矩阵中提取rownames?
你能在这里添加一些代码吗? –
@SamehKamal乔纳斯代码示例就是我的意思:)谢谢。 –
我已经将项目上传到git: https://github.com/guywald/allele_fixation –