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 –