0
早上好。我有一個有14610行和16列的矩陣(eout)。 14610行代表01-01-1960和31-12-2000之間的每一天。matlab中的閏年平均值
我需要的是一個40行16列的新矩陣,每年的平均值。 連續的意思是365行。 我遇到的問題是每4年的閏年。
建議解決這個問題?
早上好。我有一個有14610行和16列的矩陣(eout)。 14610行代表01-01-1960和31-12-2000之間的每一天。matlab中的閏年平均值
我需要的是一個40行16列的新矩陣,每年的平均值。 連續的意思是365行。 我遇到的問題是每4年的閏年。
建議解決這個問題?
一開始,得到的天數給定年份:
function n = ndays(year)
tmp = repmat([1,1,0,0,0],numel(year),1);
n = datenum([year(:)+1,tmp])-datenum([year(:), tmp]);
end
有了這個,你可以如收集行與mat2cell
:
rows_per_year = ndays(1960:2000);
chunks = mat2cell(yourInputMatrix, rows_per_year, size(yourInputMatrix,2));
means = cellfun(@(x) mean(x,1), chunks);
(後者部分來自未經測試..)
它不應該與matlabs日期函數很難據此收集它們。 – bdecaf
你應該可以用'accumarray'很好地整齊地做它。你可以發佈一小部分數據,這樣我可以看到你是如何存儲它的? – Dan
我已經解決了我的問題,所以不需要發佈我的數據集。 感謝您的關注!這真的很有幫助! – rochinha44