How can I delete some specific rows from a matrix?
2 visualizaciones (últimos 30 días)
Ashfaq Ahmed el 13 de Dic. de 2022
I have an easy question but somehow I am not being able to solve it.
Suppose I have a datetime matrix, A where
And I have another matrix B that contains every day/date from '2003-06-01' to '2003-09-01'.
Can anyone please tell me how can I filter out the rest of the dates from Matrix B so that only the dates from matrix A remain in B?
In another word, how can I make B just like A? (by removing all the unnecessary dates)
Any feedback from you will be greatly appreciated!
Steven Lord el 13 de Dic. de 2022
Do you have a character matrix or do you have a datetime matrix?
C = ['2003-06-24'
dt = datetime(C)
I'll assume you're using the datetime matrix dt. Let's create B:
B = datetime('2003-06-01'):datetime('2003-09-01');
You can use the set functions like intersect, union, setxor, setdiff, etc. on datetime arrays.
BnotDt = setdiff(B, dt);
whos dt B BnotDt
Element 24 of B is in dt:
Element 24 of B is not in BnotDt. [It's not in a different location in BnotDt either, since BnotDt is sorted.]
Más respuestas (1)
Peter Perkins el 15 de Dic. de 2022
Surely you don't just have a list of dates. Presumably you have data at each date. Use a timetable to store all that.
At that point, it becomes one line:
ttB = ttB(ttA.Time,:)