How do I fix error: Index exceeds matrix dimensions?
情報
この質問は閉じられています。 編集または回答するには再度開いてください。
古いコメントを表示
I want to make a loop where I calculate the mean of my 35040x12datamatrix for every 24 datapoint, but I get an error: Error using dataset/subsref (line 616) Index exceeds matrix dimensions.
for i=1:24:35040
Xday(icount,:)=mean(A.data(i:24*i,:));
icount=icount+1;
end
What am I doing wrong? Thanks
0 件のコメント
回答 (2 件)
James Tursa
2016 年 2 月 3 日
編集済み: James Tursa
2016 年 2 月 3 日
Try this:
for i=1:24:35040
Xday(icount,:)=mean(A.data(i:(i+23),:)); % <-- Changed 24*i to i+23
icount=icount+1;
end
Or a vectorized way:
Xday = reshape(mean(reshape(A.data,24,[])),1460,[]);
0 件のコメント
Lilja Dahl
2016 年 2 月 3 日
0 投票
2 件のコメント
James Tursa
2016 年 2 月 3 日
編集済み: James Tursa
2016 年 2 月 3 日
For the loop, did you preallocate Xday? E.g., Xday = zeros(1460,12). And did you initialize icount = 1?
Lilja Dahl
2016 年 2 月 12 日
この質問は閉じられています。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!