2017-06-22 65 views
0

我有一個結構有兩個未命名的字段,我需要單獨作爲向量來訪問。 matlab幫助頁面只有字段名稱的示例。訪問沒有字段名的Matlab結構數組

https://www.mathworks.com/help/matlab/matlab_prog/access-data-in-a-structure-array.html

如何取回一個未命名字段?

編輯

例如,我的數據是這樣的:

0.5000 0.1338 
0.4999 0.1445 
0.4998 0.0716 

,而不是像:

x  y 
0.5000 0.1338 
0.4999 0.1445 
0.4998 0.0716 
+2

它不是一個結構清晰由一個無名場你的意思。所有字段按照定義都需要一個名稱。你能否在你的問題中包含樣本數據? –

+0

你確定你正在處理一個*結構*,而不是一個「表」或其他數據類型?你可以用'class(s​​)'來檢查數據類型,其中's'是保存數據的變量。 – gnovice

+0

我的數據顯然是一個結構內的表格。當我的意思是後者時,我使用了與字段互換的術語字段。我看到哪裏不適合,特別是考慮到matlab結構的背景。感謝你的協助。 –

回答

3

如果你不知道該字段名稱先驗,您可以使用fieldnames來獲取它們,然後使用返回的值訪問它們:

names = fieldnames(s); 
vec1 = s.(names{1}); 
vec2 = s.(names{2}); 

或者,您也可以完全不理會他們,只是把結構域的內容使用struct2cell單元陣列:

vecs = struct2cell(s); 
vec1 = vecs{1}; 
vec2 = vecs{2};