2013-03-27 72 views
0

我有下面的代碼,並希望將輸出附加到逐行的數組。每個循環迭代應將第1個日期放置在第1行第1列中,並且第1個R值應放置在第1行第2列中。下一次迭代將在後續行中放置附加信息。列條目的數量將被預先確定,但是行條目的數量將是不確定的。請指教。如何將日期和數據附加到數組?

X = [41334:41340]; 
Y = []; 
exceldate = X; 
date = x2mdate(exceldate); 

for i=1:1:7 
    curDate = datestr(date,26); 
    %Write curDate value to Row i, column 1 of Y 
    R(i) = i+1; 
    %Write R(i) value to Row i, column 2 of Y 
end 

我試圖讓Ÿ樣子:

2013/03/01 2 
2013/03/02 3 
2013/03/03 4 
2013/03/04 5 
2013/03/05 6 
2013/03/06 7 
2013/03/07 8 

回答

1

你需要使用一個單元陣列此。

Y = cell(7, 2); 

在循環中,你可以再做:

Y{i, 1} = curDate; 
Y{i, 2} = R(i); 

請注意,你需要使用大括號分配給單元陣列中的位置。

+0

謝謝您的信息! – Aaron 2013-05-29 01:35:03

+0

不客氣。請考慮接受答案,如果它解決了你的問題。 – BjoernH 2013-05-29 09:34:56

0

您需要使用cell array將文本(您的日期字符串)和數值組合到一個數組中。

%# initialize sample date cell array 
dates = cellfun(@datestr,{now,now+1,now+2},'UniformOutput',false)'; 
%# intialize sample data array 
numVals = [1:3]'; 
%# combine 
out = [dates,num2cell(numVals)];