La cosa più semplice che puoi fare:
[*] usare la funzione "dir" per ottenere l'elenco dei files; in alternativa puoi costruire i nomi dei files nel ciclo for, come hai fatto
[*] creare un nuovo nome per il file "senza la prima riga, basato sul nome del file in input
[*] leggere il file in input con la funzione "textscan" considerando ogni riga come una singola stringa di testo; questo eviterà, tra l'altro, che tu perda eventuali cifre decimali
[*] scrivere, con un loop che scandisca le righe righe lette (tranne la prima) i dati nel nuovo file
Una possibile implementazione potrebbe essere:
% Individuaziione dei file di input
file_list=dir('x*.csv')
% Definizione del numro di righe da saltare
n_header_rows=1
% Loop sui fle di input
for in_file=1:length(file_list)
% Apertura i-esimo file di input
% Creazione nome nuovo file
[f_path,f_name,f_ext]=fileparts(file_list(in_file).name)
new_f_name=[fullfile(f_path,[f_name '_new']) f_ext]
% Apertura i-esimo file di input
fp=fopen(file_list(in_file).name,'rt')
% Lettura i-esimo file di input
C=textscan(fp,'%s')
data=C{1}
% Chusura i-esimo file di input
fclose(fp)
% Apertura i-esimo file di output
fp=fopen(new_f_name,'wt')
% Loop sulle righe da scrivere nel nuovo file
for i=1+n_header_rows:length(data)
% Scrittura dei dati neo nuovo file
fprintf(fp,'%s\n',char(data{i}))
end
% Chiusura del nouvbo file di output
fclose(fp)
end