【发布时间】:2014-11-08 19:55:59
【问题描述】:
我在 MATLAB 中循环时遇到问题。
%% Getting Stocks
stocks = hist_stock_data('01012013','07112014','GDXJ', 'JDST', 'GLD');
这是我要循环的块
% STOCK #1
stocks(1,1).Date=datenum(stocks(1,1).Date);
stocks(1,1).Date = stocks(1,1).Date(end:-1:1);
stocks(1,1).AdjClose = stocks(1,1).AdjClose(end:-1:1);
GDXJ=stocks(1,1).AdjClose;
% STOCK #2
stocks(1,2).Date=datenum(stocks(1,2).Date);
stocks(1,2).Date = stocks(1,2).Date(end:-1:1);
stocks(1,2).AdjClose = stocks(1,2).AdjClose(end:-1:1);
JDST=stocks(1,2).AdjClose;
% STOCK #3
stocks(1,3).Date=datenum(stocks(1,3).Date);
stocks(1,3).Date = stocks(1,3).Date(end:-1:1);
stocks(1,3).AdjClose = stocks(1,3).AdjClose(end:-1:1);
GLD=stocks(1,3).AdjClose;
我遇到的唯一问题是分配名称,以便我将向量从stocks 提取到我的工作区。这是我目前拥有的:
%% Extract number of Columns
[row, col] = size(stocks);
%% Different Loop
for ii = 1:col
stocks(1,ii).Date=datenum(stocks(1,ii).Date);
stocks(1,ii).Date = stocks(1,ii).Date(end:-1:1);
stocks(1,ii).AdjClose = stocks(1,ii).AdjClose(end:-1:1);
[Prices] = stocks(1,ii).AdjClose;
end
如何为上面的[Prices] 向量分配名称,以便最终从stocks 中提取GDXJ、JDST 和GLD?
【问题讨论】:
-
假设你的
[Prices]只有GDXJ,JDST,GLD....你可以查看stocks看看你感兴趣的元素是不是一个阿尔法。以下s = isstrprop('GDXJ', 'alpha')将返回s = [1 1 1 1]逻辑。如果你all(s)是真的,你把它提取出来了吗?这就是你想要的吗?