Add nan matrix where I have no data

1 Ansicht (letzte 30 Tage)
kounoupaki87
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
Walter Roberson am 21 Mai 2020
Perhaps create a timetable object and retime() with method 'fillwithmissing'

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Cris LaPierre
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
kounoupaki87
kounoupaki87 am 21 Mai 2020
Something is wrong when concatenate arrays:/
kounoupaki87
kounoupaki87 am 21 Mai 2020
Oh Ok, just the size was opossite:) Thank you!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Dates and Time finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by