0

次のコードがあり、出力を行ごとに配列に追加したいと思います。各ループの反復では、最初の日付を行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  

Yを次のように見せようとしています:

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
4

2 に答える 2

1

これにはセル配列を使用する必要があります。

Y = cell(7, 2);

ループでは、次のことができます。

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

セル配列内の位置に割り当てるには、中括弧を使用する必要があることに注意してください。

于 2013-03-27T14:24:37.490 に答える
0

セル配列を使用して、テキスト(日付文字列)と数値を1つの配列に結合する必要があります。

%# 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)];
于 2013-03-27T14:27:26.563 に答える