MatLab ha tantissime funzionalità e potenzialità, questo non vuol dire, però che debba essere usato per qualunque tipo di "problema".
Nello specifico, secondo me, sarebbe molto più semplice creare uno script con, ad esempio, AWK o Python.
Ad ogni modo, volendo / dovendo usare necessariamente MatLab, una (delle tante) possibili coluzioni (e probabilmente non la migliore) potrebbe essere:
[*] leggere il file con la funzione "fgetl"
[*] acquisire i "token" della riga (data, ora, attività) con la funzione "strtok"
[*] assegnare i vari token ad una variabile (ad esempio una struttura o un cellarray)
Una volta importato il contenuto del file all'interno di una struttura / cellarray si potrebbe scandire la stessa alla ricerca dell'attività di interesse (ad esempio, con riferimento alla domanda, "andiamo tutti al mare").
Una volta trovata la stringa (attività) si hanno a disposizione le relative informazioni temporali (data e ora) dell'attività; su queste possono essere fatte somme, differenze ecc. (relativamente alla domanda, mi riesce difficile comprendere il senso di sommare gli orari ai quali una specifica attività viene effettuata)
Le funzioni "datenum", "datevec", "datestr" ecc. possono essere utilizzate per manipolare / convertire "date" e "ore".
Ancora relativamente alla domanda e, in particolare alla struttura del file di input: la struttura stringa che definisce le attività (es. "andiamo tutti al mare") può essere causa di difficoltà nella implementazione di un script.
Di volta in volta essa è composta da un numero variabile di parole, le stesse, se non generate "automaticamente" al momento della scrittura nel file di testo, possono essere facilmente essere scritte in modo errato (es, una "doppia" dove non ci vuole o viceversa, come in "ombrelone" - dove "manca" una "l").
Tutto questo (e altre situazioni simili) potrebbe avere la conseguenza che "lo script" non riconosca la stringa.
Una possibile soluzione (se non fosse possibile modificare le stringhe) potrebbe consistere nell'identificare, per ogni tipologia di stringhe delle parole chiave e, quindi, usare queste nella ricerca (ad esempio: "andiamo", "prendiamo", "torniamo"); questo potrebbe limitare i pericoli sopra citati (ma non eliminarli).
La soluzione proposta è stata implementata nello script che segue (il codice relativo alla seconda parte della domanda "somma dei tempi ..." non è stato implementato per i motivi sopra esposti tuttavia, nel codice è evidenziato il possibile punto nel quale tale codice potrebbe essere inserito).
ATTENZIONE - CODICE RIMOSSO - LO SCRIPT CONTENEVA DUE ERRORI:
DOPO L'ISTRUZIONE
diario(i).data_ora=([data ' ' ora]);
MANCAVA L'ISTRUZIONE
diario(i).att=attivita;
IL CODICE RIPORTATO IN QUESTA RISPOSTA E' STATO RIMOSSO.
LA VERSIONE CORRETTA E' RIPORTATA NELLA RISPOSTA CHE SEGUE.
SPIACENTE PER IL DISGUIDO
CODICE RIMOSSO
Hope this helps.