Getting NaN when converting string to number

7 Ansichten (letzte 30 Tage)
Hari krishnan
Hari krishnan am 21 Aug. 2018
Bearbeitet: jonas am 21 Aug. 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 Kommentare
Hari krishnan
Hari krishnan am 21 Aug. 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 am 21 Aug. 2018
Bearbeitet: jonas am 21 Aug. 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Kuifeng Zhao
Kuifeng Zhao am 21 Aug. 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').

Kategorien

Mehr zu Dates and Time finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by