我想通過代碼從結構數組中獲取值,並且將索引存儲在一個字符串中。其索引存儲在字符串中的訪問結構數組
我試着運行這段代碼:
function M = getdata(matrix,field,varargin)
exp = [];
for i = 1:nargin-3
exp = [exp num2str(varargin{i}) ','];
end
exp = [exp num2str(varargin{nargin-2})];
M = eval('matrix(exp).(Field)');
end
然而,它失敗。
例如,假設我有2場,A和B.因此,一個結構數組,我可以寫
MyStruct(1,1).A
一個可能的用途是:
M = getdata(MyStruct,A,1,1)
和我想要的程序要做:
M = MyStruct(1,1).A
我該怎麼做?
謝謝!
...爲什麼不只是'M = matrix(varargin {:})。(field)'? –
因爲我真的想用'getdata'這個類似的東西:'M = getdata(MyStruct,A,1,:)',如果我用你說的表達式,我只能得到一個值,而不是一個向量。 – baister