5
我感興趣的是訪問一個字段的一般問題,該字段可能會被隱藏在包含結構中的任意數量的深層。下面是一個使用兩個級別的具體示例。如何動態訪問MATLAB中結構的字段字段?
說我有一個結構toplevel
,這是我從MATLAB命令行定義與下列:
midlevel.bottomlevel = 'foo';
toplevel.midlevel = midlevel;
我可以通過將字段名稱作爲字符串訪問midlevel
結構,例如:
fieldnameToAccess = 'midlevel';
value = toplevel.(fieldnameToAccess);
,但我不能訪問bottomlevel
結構以同樣的方式 - 以下是無效的語法:
fieldnameToAccess = 'midlevel.bottomlevel';
value = toplevel.(fieldnameToAccess); %# throws ??? Reference to non-existent field 'midlevel.bottomlevel'
我可以編寫一個函數,通過fieldnameToAccess
查找期間,然後遞歸迭代以獲得所需的字段,但我想知道是否有一些聰明的方法來使用MATLAB內置函數直接獲取字段值。
有沒有辦法給fieldnameToAccess追加到一個變量,即結束。頂層(字段{1} {1})(字段{1} {2})=重採樣(getfield命令(頂層,字段{1} {:}),...)。。在一般的方式(不知道只有2級)? – Jon 2013-03-11 22:59:29