A quanto pare, le righe di testo vengono convertite in numeri, ma non il primo campo (che è una data).
Questo dovrebbe farti capire che la procedura che usi non è la più adatta.
A parte questo:
[*] scrivi che ad un certo punto il ciclo "si interrompe". Cosa vuol dire? Genera un messaggio di errore?
[*] scrivi che il codice riesce a leggere un certo numero di righe e poi che il ciclo si interrompe. Ho provato ad eseguire il codice e, a parte il fatto che la prima colonna non viene convertita, sembra funzionare.
[*] scrivi che (perchè ogni riga corrisponde a circa 40ms)", ma dall'esempio che hai pubblicato non si evince. Se pubblichi un esempio di file di testo il formato del quale non corrisponde a quello che usi, come pensi che ti si possa aiutare?
Usando al funzione "textscan" come ti ho suggerito nella risposta precedente, pupi leggere il file, compressa la prima colonna (fatto salvo che forse il formato non è quello che hai pubblicato) con poche righe di codice:
fp_orig=fopen('i.txt','rt');
C=textscan(fp_orig,'%s%f%f%f%f%f');
fclose(fp_orig)
tempo=cell2mat(C(:,1))
M=cell2mat(C(:,2:end))