К сожалению, у меня не так много времени для более полного ответа, но я бы попытался uitable
создать таблицу и определить CellSelectionCallback
, чтобы получить дату.
Вот немного, чтобы начать:
dates = calendar;
dates(~any(dates,2),:) = [];
fh = figure;
uh = uitable('parent',fh,'data',dates,'ColumnWidth',repmat({20},1,7),...
'ColumnName',{'S','M','T','W','T','F','S'});