Getting NaN when converting string to number

6 visualizzazioni (ultimi 30 giorni)
Hari krishnan
Hari krishnan il 21 Ago 2018
Modificato: jonas il 21 Ago 2018
Hi, I am reading the first line of 4 text files and trying to convert the second column in each file name to a number as i have time stored in the second column. When i convert the second row of elements to number, i am getting NaN. Screen shot of first line of a text file is attached. Any help to solve this will be appreciated.
first_row_of_text_file = cell(number_of_files,1);
for ii = 1:number_of_files
fileID = fopen(filenames{ii},'r');
varNames = textscan(fileID, format, 1, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'TextType', 'string', 'ReturnOnError', false);
first_row_of_text_file{ii} = str2double(varNames(:,2));
end
  8 Commenti
Hari krishnan
Hari krishnan il 21 Ago 2018
What i want to do is to take the time from the first row and substract this from the time in the successive rows. So i can get a column with increasing time rather than the time stamp itself.
jonas
jonas il 21 Ago 2018
Modificato: jonas il 21 Ago 2018
Then you can convert the string to either a duration or datetime. After subtraction, the format will be duration regardless. In this case I'd suggest going for duration directly as you don't have any date in the same cell.
I still don't understand why you don't use the timetable that I helped you build some days ago. It would be extremely easy to calculate the time difference.

Accedi per commentare.

Risposte (1)

Kuifeng Zhao
Kuifeng Zhao il 21 Ago 2018
I suggest change the brackets (),[], into comma ',', and then try to read the data again. Anyway, you can try the function and make necessary changes: importdata('data.txt').

Categorie

Scopri di più su Characters and Strings 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!

Translated by