J'ai 2 matrices avec les ID SAME. J'ai besoin d'extraire ces lignes d'ID de mat1
qui ont leurs dates dans les ± 5 jours des dates dans le mat2
. Même opération pour mat2
. S'il vous plaît voir les données ici: UNIQCols = [1 2] ; dateCol = [3] ; valueCol = [4] ; dayRange = +- 15days
.vérification de membre et vérification de la plage de dates Matlab
% UniqCol Date Value
mat1 = [2001 2 733427 1001 ;
2001 2 733793 2002 ;
2001 2 734582 2003 ;
3001 1 734220 30 ;
3001 1 734588 20 ;];
mat2 = [2001 2 733790 7777 ;
2001 2 734221 2222 ;
3001 1 734220 10 ;
3001 1 734588 40 ;] ;
ans1 = [2001 2 733793 2002 ; 3001 1 734220 30 ; 3001 1 734588 20 ] ;
ans2 = [2001 2 733790 7777 ; 3001 1 734220 10 ; 3001 1 734588 40 ] ;
Ceci doit être une opération vectorisée! Les ID sont classés par ordre croissant de dates. Les dates sont séparées sur Q ou sur une base annuelle. Donc, la gamme sera toujours < < (date2-date1) S'il vous plaît aider et merci!
Etes-vous limité à matlab pour cette tâche? Matlab est destiné à la manipulation matricielle; cela fonctionne avec des dates qui se trouvent sous forme matricielle. Vous pourriez être mieux servi en travaillant dans d'autres langages de script. – eykanal
Donc, vous devez comparer chaque ligne de 'mat1' à chaque ligne de' mat2' pour voir si elles sont à ± 5 jours l'une de l'autre? – eykanal
désolé, une dernière demande ... pouvez-vous s'il vous plaît modifier la question pour donner des étiquettes aux quatre colonnes? Je ne suis pas sûr de quoi. – eykanal