這是我的代碼程序,其中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);
這是我的代碼程序,其中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);
你如何產生這些變量af4
,af7
和af8
?如果您可以將它們創建爲單元格數組中的單元格或結構中的字段,那麼您的生活將變得更加輕鬆。
如果你有超過變量沒有控制,你可以使用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
。
我認爲這是可以使用的:
xCell = {af3, af4, af7, af8};
for xi = 1:nnumel(xCell)
x = xCell{xi};
% do what you want to do with x
end