How to Filter Rows of Cell Array By Date Range
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
the cyclist
am 30 Jul. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Logical 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!