Hello,
I would like to import a textfile with matlab. The textfile consist of decimal numbers. It looks like:
X Y Z
0,1 0,2 0,3
0,4 0,5 0,6
0,7 0,8 0,9
I use the following code to import the data:
filename = 'Textfile-test.txt';
delimiterIn = ' ';
headerlinesIn = 1;
A = importdata(filename,delimiterIn,headerlinesIn);
My problem is that the numbers are not imported by matlab. Do you have any idea how to solve this problem.
Thank you in advance

 Akzeptierte Antwort

Stephen23
Stephen23 am 11 Jan. 2015

0 Stimmen

MATLAB only recognizes the period character as the decimal radix, so you will need to change that comma character before converting to numeric. To achieve this when reading the file with MATLAB, you could do something like this:
fid = fopen('temp.txt');
C = textscan(fid, '%s%s%s');
fclose(fid);
C = [C{:}];
hdr = C(1,:);
dat = regexprep(C(2:end,:),',','.');
dat = cellfun(@(s)sscanf(s,'%f'),dat);

Weitere Antworten (1)

dpb
dpb am 9 Jan. 2015

0 Stimmen

What error(s), if any did you get?
With that file structure, simply
x=importdata(filename);
should work altho don't see anything obviously wrong with the specific form.
Have you ensured the file is actually on the Matlab search path and the filename is spelled correctly, etc., etc, etc., ...?

3 Kommentare

afrya
afrya am 10 Jan. 2015
I get no error message from matlab. The numerical data are just not imported by matlab. In my textfile, the decimal limiter is the comma and matlab recognise numerical data only with a dot limiter.How can I import the data file into matlab with numbers written using the comma as the decimal character?
dpb
dpb am 11 Jan. 2015
...the decimal limiter is the comma...
Woops, my old eyes whiffed on that, sorry. AFAIK, that's not a changeable option, you either have to change the file format itself or read the data and do a translation in memory before scanning the data.
It's a pain in the proverbial appendage for those locales where the convention is the other way 'round, I know...
afrya
afrya am 12 Jan. 2015
Bearbeitet: afrya am 12 Jan. 2015
Ok thank you for your help

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 9 Jan. 2015

Kommentiert:

am 12 Jan. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by