Create the matrix with aligned dates

3 vues (au cours des 30 derniers jours)
Luca Re
Luca Re le 4 Juin 2023
Commenté : the cyclist le 7 Juin 2023
hi,i've this problem to solve
i've a matrix of date (see pics) A (row) * B(columns)
i used datetime in this matrix
Each date vector can start and end at a different time
I want to synchronize the dates so that each row corresponds to the same date (
example:
Or if it becomes complicated to shift them up or down n boxes, place them side by side with an index (see pics below)
  6 commentaires
Luca Re
Luca Re le 4 Juin 2023
Modifié(e) : Luca Re le 4 Juin 2023
>> A=load("TEST_A.mat");
>> D=load("TEST_B.mat");
>> TEST_sYNCRONIZE
Incorrect number or types of inputs or outputs for function 'synchronize'.
Error in TEST_sYNCRONIZE (line 7)
synchronize(A,D,'union','linear')
i try to union array with different size but it give me error..
According to the documentation it says to use the 'union' and 'linear' command if the vectors don't have linear dimensions
I was wrong.. i don't know the reason but i have to use A.A and D.D to recall the data But it doesn't work the same
Luca Re
Luca Re le 6 Juin 2023
Déplacé(e) : the cyclist le 6 Juin 2023
hi, i attach file .m with data to syncronized
i try to syncronized it but it give me error
Someone can help me? thanks
i want this result (see pics below)

Connectez-vous pour commenter.

Réponses (1)

the cyclist
the cyclist le 6 Juin 2023
load SyncronizedData.mat
for nc = 2:width(J)
[tf,loc] = ismember(J(:,nc),J(:,nc-1));
tmp = J(:,nc);
J(:,nc) = {'NaT'};
J(loc(tf),nc) = tmp(tf);
end
J(all(strcmp(J,'NaT'),2),:)=[]
J = 7×3 cell array
{'13-Jan-2008'} {'13-Jan-2008'} {'NaT' } {'14-Jan-2008'} {'14-Jan-2008'} {'NaT' } {'15-Jan-2008'} {'15-Jan-2008'} {'15-Jan-2008'} {'16-Jan-2008'} {'16-Jan-2008'} {'16-Jan-2008'} {'17-Jan-2008'} {'17-Jan-2008'} {'17-Jan-2008'} {'18-Jan-2008'} {'18-Jan-2008'} {'18-Jan-2008'} {'19-Jan-2008'} {'19-Jan-2008'} {'19-Jan-2008'}
  2 commentaires
Luca Re
Luca Re le 7 Juin 2023
I'm having trouble replicating your results
load SyncronizedData.mat
J =
struct with fields:
J: {9×3 cell}
>> J.J
ans =
9×3 cell array
{'NaT' } {'NaT' } {'NaT' }
{'13-Jan-2008'} {'13-Jan-2008'} {'NaT' }
{'14-Jan-2008'} {'14-Jan-2008'} {'NaT' }
{'15-Jan-2008'} {'15-Jan-2008'} {'15-Jan-2008'}
{'16-Jan-2008'} {'16-Jan-2008'} {'16-Jan-2008'}
{'17-Jan-2008'} {'17-Jan-2008'} {'17-Jan-2008'}
{'18-Jan-2008'} {'18-Jan-2008'} {'18-Jan-2008'}
{'19-Jan-2008'} {'19-Jan-2008'} {'19-Jan-2008'}
{'NaT' } {'NaT' } {'NaT' }
should I use J.J instead of J?
the cyclist
the cyclist le 7 Juin 2023
I'm not sure why you save something different in the file you upload than you did in the file you are using. But, yes, it looks like J.J should work.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by