Export data from CSV file as a vector.
    14 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Kaique Silva
 il 10 Giu 2015
  
    
    
    
    
    Modificato: Konstantinos Sofos
      
 il 11 Giu 2015
            I am using an app to try different sources of energy, the problem is that the app exports the data in CSV format, even though it is okay to get the amplitude from the file, it isn't working to get the time. It is in HH:MM:SS.FFF, and I am not being able to export it to matlab as a variable (so I can plot time vs amplitude). I have to export the B column as a vector, any idea?

1 Commento
  Konstantinos Sofos
      
 il 10 Giu 2015
				Could you load a CSV as an example since we do not have any code from your side?
Risposta accettata
  Konstantinos Sofos
      
 il 10 Giu 2015
        As I miss your sample of data, I have created one by myself (attached Data.csv). Below you can find a script that read this type of data.
fid = fopen('Data.csv');
if fid > 0
    data = textscan(fid,'%d %s %f %d','Delimiter',',');
    fclose(fid);
end
refTime=cellfun(@(x) datenum(x,'mm/dd/yyyy HH:MM:SS:FFF'),data(:,2),'UniformOutput',0);
plot(refTime{:},data{:,3})
datetick('x','mm/dd/yyyy HH:MM:SS:FFF');
data will be a cell array, with its second column containing all of the date strings of the format
'01/09/2014 15:27:18:322'
To convert this to number you use the datenum
Regards
1 Commento
  Konstantinos Sofos
      
 il 11 Giu 2015
				
      Modificato: Konstantinos Sofos
      
 il 11 Giu 2015
  
			After your sample file you can load your data as
fid = fopen('SeismometerData.csv');
if fid > 0
    data = textscan(fid,'%s %s %f %f %f','Delimiter',',','HeaderLines',1);
    fclose(fid);
end
Timestamp = strcat(data{:,1},'', data{:,2});
TimestampNum=cellfun(@(x) datenum(x,'yyyy:mm:ddHH:MM:SS.FFF'),Timestamp,'UniformOutput',0);
TimestampNum = [TimestampNum{:}];
amplitude = [data{:,5}]';
plot(TimestampNum,amplitude)
ylabel('Amplitude')
xlabel('Clock - Time')
title('Seismometer Data')
grid on
datetick('x','HH:MM:SS');
and the result figure will be

Regards
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Standard File Formats in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!