cell2mat issue
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi I have this code. It produces a 30 year sliding window for my data. The data is daily over around 230 year and the code puts it in a cell array 208x1 with each cell around 10958x1 and I'm having an issue with cell2mat whereby it takes all of my data and puts it in one column rather than the 208 it should be in. How can I solve this?
%%Data Loading
close all
clear all
cet = load ('cet_1772_2009.asc', '-ascii'); % Loads CET from asc file.
year = cet(:,1);
temp = cet(:,4);
day = cet(:,3);
month = cet(:,2);
% Loads Data from CET asc file and sets vectors
%%Constants and vectors
dates = datenum([year,month,day]);
%%30 Year Periods
StartYear=1772;
EndYear=2009;
Period=30;
T32=cell(EndYear-StartYear-Period+1,1);
for Year=StartYear:(EndYear-Period)
StartCount=datenum(Year,1,1)-datenum(StartYear,1,1)+1;
DataCount=datenum(Year+Period,12,31)-datenum(Year,12,31);
T32{Year-StartYear+1}=temp(StartCount:(StartCount+DataCount),1);
end
%%Detrend, mean etc
meancell = cellfun(@(T32)mean(T32),T32,'un',0);
meanT = cell2mat(meancell);
detrendcell = cellfun(@detrend,T32,'UniformOutput',false);
detrendcell = cell2mat(detrendcell);
채택된 답변
Fangjun Jiang
2011년 10월 3일
The cells in your data meancell and detrendcell have different length of data, that is why they have to be in a cell array. You can reference its data using {} and (), meancell{2}(100) for example. Why do you want to use cell2mat()? What is the purpose and your expected outcome?
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!