Add nan matrix where I have no data
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
kounoupaki87
am 21 Mai 2020
Kommentiert: kounoupaki87
am 21 Mai 2020
Hi,
- I have a matrix (Data) which is (198x104x24): this contains data for January but some dates are missing.
- I have these days in a different file (Missingdates): days where I don't have any data and I want to add nan matrix
I would like to have a matrix with dimensions: (198x104x31).
Example: I don't have any data for 02/01, so I would like to add a matrix (in the 3rd dimension) AddNan=nana(198,104);
1 Kommentar
Walter Roberson
am 21 Mai 2020
Perhaps create a timetable object and retime() with method 'fillwithmissing'
Akzeptierte Antwort
Cris LaPierre
am 21 Mai 2020
A bit convoluted, but try this. The main challenge is you don't have any dates associated with data, so creating that is a bit interesting.
load data.mat
load Missingdates.mat
% Create a vector of dates for the month
date = dateshift(Missingdates(1),"start","month"):days(1):dateshift(Missingdates(1),"end","month");
date(ismember(date,Missingdates))=[]; % delete the missing dates
date = [date Missingdates']; % Add missing dates to the end of the date vector
[~, ind]=sort(date); % determine the order to place the dates in
% Create the empty matrices and concatenate to data along 3rd dimension
newData = nan([size(data,1:2),length(Missingdates)]);
newData = cat(3,data, newData);
% redorder the 3rd dimension of data to place sheets in date order
newData = newData(:,:,ind)
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Dates and Time finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!