2014-02-24 73 views
1

這是我的代碼程序,其中x是我的數據,我有另一個數據名稱,如af4,f7和f8 ..我怎樣才能在我的程序上做循環技術,這樣x就會自動變成af4,然後f7和最後f8在Matlab中?使用變量名稱的數據循環技術?

x=af3; 
d = fdesign.lowpass('Fp,Fst,Ap,Ast',4,5,1,40,128); 
Hd = design(d,'butter'); 
fvtool(Hd); 
y_delta = filter(Hd,x); 

回答

1

你如何產生這些變量af4af7af8?如果您可以將它們創建爲單元格數組中的單元格或結構中的字段,那麼您的生活將變得更加輕鬆。

如果你有超過變量沒有控制,你可以使用eval

varNames = {'af3', 'af4', 'af7', 'af8' }; % as strings 
for vi=1:numel(varNames) 
    x = eval(varNames{vi}); % here''s the trick 
    % continue here with x... 
end 

不過請注意,這是extremely unrecomanded to use eval

1

我認爲這是可以使用的:

xCell = {af3, af4, af7, af8}; 

for xi = 1:nnumel(xCell) 
    x = xCell{xi}; 
    % do what you want to do with x 
end