How to Filter Rows of Cell Array By Date Range
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Simplied my problem so it's easier to solve. I have a 4x3 array "a" and want to remove rows not within a specified date range. I would like to do this without a loop that would slow down my code. Any suggestions matlab wizards out there?
%Date Range
MinDate = datetime('14-Jul-2024');
MaxDate = datetime('17-July-2024');
%Cell Array
a = cell(4,3);
random = [1 1
2 1
3 3
4 5];
dates = datetime({'10-Jul-2024'
'15-Jul-2024'
'20-Jul-2024'
'16-Jul-2024'});
a(:,3) = num2cell(dates);
a(:,1:2) = num2cell(random);
%How do I filter a by deleting rows not within Date Range? i.e. delete rows 1 & 3 based on the value of a
0 commentaires
Réponses (1)
the cyclist
le 30 Juil 2024
Here is one way:
%Date Range
MinDate = datetime('14-Jul-2024');
MaxDate = datetime('17-July-2024');
%Cell Array
a = cell(4,3);
random = [1 1
2 1
3 3
4 5];
dates = datetime({'10-Jul-2024'
'15-Jul-2024'
'20-Jul-2024'
'16-Jul-2024'});
a(:,3) = num2cell(dates);
a(:,1:2) = num2cell(random);
% Filter
a_filtered = a(isbetween([a{:,3}],MinDate,MaxDate),:)
0 commentaires
Voir également
Catégories
En savoir plus sur Logical 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!