Convert file with negative value and nan to double

3 Ansichten (letzte 30 Tage)
Mohamed Asaad
Mohamed Asaad am 7 Feb. 2022
Kommentiert: Jan am 8 Feb. 2022
I am using the below code to import data from another file and to convert commas to dots to be able to plot the values from different files on Matlab. This code works for me except for these two attached files where I get an error message "Conversion to double from struct is not possible." Does anyone know why it does not work for these two files and know a solution for that problem?
a1_Au1EchemPEG = importdata('Au_1_E_chem_experiment_SPR_angle_offset_after_PEG.dat');
b1_Au1EchemPEG = strrep(a1_Au1EchemPEG,',','.');
c1_Au1EchemPEG = cell2mat(cellfun(@str2num,b1_Au1EchemPEG,'un',0));

Akzeptierte Antwort

Jan
Jan am 7 Feb. 2022
importdata is extremely smart.Try this:
S = fileread('Au_1_E_chem_experiment_SPR_angle_offset_after_PEG.dat');
S = strrep(S, ',', '.');
D = sscanf(S, '%g', [2, inf]);
  2 Kommentare
Mohamed Asaad
Mohamed Asaad am 7 Feb. 2022
Tank you very much! It works for the files that i have atttached in the question.
However, the plot does not work for this new attached file. The code that i have attached in my question worked for this file. Do you know why this is the case?
When i run your code for the the above attached files i get that:
D = 2x2932 double.
But when i run the below code for the new attched file i get:
c1_Au1Echem = [ ]
a1_Au1Echem = fileread('Au_1_E_chem_experiment_SPR_angle.dat');
b1_Au1Echem = strrep(a1_Au1Echem,',','.');
c1_Au1Echem = sscanf(b1_Au1Echem, '%g', [2, inf]);
plot(c1_Au1Echem(1,:), c1_Au1Echem(2,:))
hold on
plot(c1_Au1Echem(1,:), c1_Au1Echem(6,:))
Jan
Jan am 8 Feb. 2022
@Mohamed Asaad: The new file starts with a header line, which contains the names of the columns. You can open your .dat files with a text editor to check this.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Large Files and Big Data finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by