2
A
回答
1
struct2cell(P)
是一个单元格数组,其中每个元素都是您的结构字段之一(字段名称被丢弃)。然后
cell2mat(struct2cell(P))
是沿着第一轴连接这些矩阵的结果。你可能会问,为什么会这样做,而不是说,创造一个新的轴,并给你一个四维数组,但期待这些问题的合理答案是要求沮丧。无论如何,除非我越来越糊涂的尺寸,然后
reshape(cell2mat(struct2cell(P)),[53 20 63 46])))
会给你大致4维数组你后,用“新”轴线(中当然!)2号。所以现在
mean(reshape(cell2mat(struct2cell(P)),[53 20 63 46]),2)
将计算沿该轴的平均值。其结果将具有形状[53 1 63 46]
,所以现在你需要重新修复了坐标轴:
reshape(mean(reshape(cell2mat(struct2cell(P)),[53 20 63 46]),2),[53 63 46])
0
如果您正在使用结构,并通过您的问题,您有每个矩阵的字段名称。
因此,您需要:
1 - 使用功能fieldnames
提取您的结构内部的所有矩阵名称。 - http://www.mathworks.com/help/matlab/ref/fieldnames.html
2 - 那么你可以做这样访问:
names = fieldnames(P);
matrix1 = P.names{1}
使用for循环可以再使你的计算相当快!
相关问题
- 1. 平均矩阵的构造
- 2. 在结构中存储的所有矩阵的平均值
- 3. 阵列的平均值矩阵
- 4. 平均值与楠矩阵的列值
- 5. 查找矩阵的平均值
- 6. 使矩阵的平均值= 1
- 7. 取矩阵中行的平均值r
- 8. 计算矩阵的平均值
- 9. 从矩阵计算元素平均值
- 10. c中矩阵的几何平均数
- 11. 有效的求平均矩阵
- 12. 从Matlab中提取子矩阵的均值,并用平均值创建新矩阵
- 13. 蟒蛇矩阵平均单点附近
- 14. 计算的行集的平均值为矩阵
- 15. 查找具有未知元素的矩阵列的平均值
- 16. 在有条件的巨大矩阵上计数平均值
- 17. 计算三维矩阵之间的平均值
- 18. 结构矩阵的malloc - C
- 19. MatLab的矩阵结构
- 20. 使用结构的矩阵
- 21. 从矩阵中删除元素并计算平均值
- 22. 将矩阵转换为部分平均值一个
- 23. scipy.sparse矩阵:将行平均值减去非零元素
- 24. 平均大阵?
- 25. 矩阵数据结构
- 26. Java动态矩阵结构
- 27. 在C++中查找矩阵的最大值,最小值和平均值
- 28. DATEDIFF结果月平均值
- 29. 如何将列平均值分配给矩阵的该列中的特定值?
- 30. 计算平均值的平均值
此链接可能会有所帮助:http://stackoverflow.com/questions/2803962/iterating-through-struct-fieldnames -in-matlab – BillBokeey
excaza,我想得到所有矩阵的平均值。我的M例子是结构P中20个矩阵的平均值。 –