我需要通過字符串索引來訪問數據,如表('one')%返回1。 MATLAB中有這樣的數據結構嗎?它是如何實現的?如何在MATLAB中使用哈希表(字典)?
32
A
回答
53
在最新版本的MATLAB中,有containers.Map
數據結構。有關更多信息,請參閱MATLAB Map containers。這在使用STRUCTs時刪除了一些限制。例如
c = containers.Map
c('foo') = 1
c(' not a var name ') = 2
keys(c)
values(c)
17
的結構可以用作一種哈希表:
>> foo.('one')=1
foo =
one: 1
>> foo.('two')=2;
>> x = 'two';
>> foo.(x)
ans =
2
要查詢的結構是否包含一個特定的字段(鍵)時,使用isfield
:
>> isfield(foo,'two')
ans =
1
這樣做的缺點方案是隻有那些也是有效的Matlab變量名稱的字符串可以用作關鍵字。例如:
>> foo.('_bar')=99;
??? Invalid field name: '_bar'.
要解決此限制,請使用Oli鏈接問題中的某個解決方案。
+0
這種方法的另一個缺點是鍵的名字必須小於'namelengthmax'( 63)個字符 – rhombidodecahedron 2015-04-23 19:20:36
相關問題
- 1. 如何在matlab中使用座標作爲哈希鍵來構建哈希表?
- 2. JavaScript的哈希表/字典
- 3. 哈希表,以字典
- 4. 字典對哈希表
- 5. Powershell字典或哈希表的列表
- 6. 在Matlab中的RIPEMD160哈希
- 7. Bash擴展哈希表(字典)
- 8. c#字典作爲哈希表的值
- 9. 將哈希表更改爲字典
- 10. 排序字典哈希
- 11. IronRuby哈希C#字典
- 12. 如何在powershell中的哈希表中添加哈希表?
- 13. 如何在Racket中定義哈希表的哈希表?
- 14. 對象的哈希值如何存儲在字典中?
- 15. 如何訪問R中哈希env列表中的列表,如Python字典
- 16. 經典哈希點符號哈希
- 17. 如何將Python字典轉換爲JavaScript哈希表?
- 18. 如何實現哈希表字典的構造函數Java
- 19. 如何在哈希中存儲哈希哈希?
- 20. 如何在哈希表
- 21. 哈希映射,哈希集合,哈希字典之間有什麼區別?
- 22. 如何使用字典或哈希表的LINQ查詢性能OData服務下
- 23. 在JavaScript中通過循環傳遞哈希表/字典
- 24. 如何在ruby中使用哈希值
- 25. 如何使用BST實現哈希表?
- 26. 如何使用哈希表的
- 27. 如何使用Perl構建哈希表
- 28. 如何使用哈希表C#
- 29. 如何保持哈希表中哈希表元素的順序
- 30. SQL哈希表字
你在找什麼是'Containers.Map'這個問題http://stackoverflow.com/questions/3591942/hash-tables-in-matlab – Oli 2012-03-24 07:57:41
完全相同的副本(也交叉http://www.mathworks.com/matlabcentral/answers/21130-dictionaries-of-hashtables-in-matlab) – 2012-03-24 10:45:54