Hi,
I have a .txt file with lots of lines of text in the following format -
18400 8510.27+j8207.84
19200 1336.93+j3261.25
20000 14176.3+j11725.7
I would like to read this in matlab and plot it. How can I do it?
I have tried converting the .txt to .xlsx and using xlsread function -
[col1, col2] = xlsread('myfile.xlsx');
But the result is a double and a cell matrix. I can't treat cell as a number to plot.
Also the length of rows in the .txt file could vary (could be 100 rows, couple be 10,000 rows). Is there a way to read the numbers? I am ok with creating temporary variables, using repmat or doing str2num conversion. However, I haven't figured out a way to do it so far.

 Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 3 Jul. 2016
Bearbeitet: Azzi Abdelmalek am 3 Jul. 2016

0 Stimmen

M=importdata('yourfile.txt')
a=regexp(M,'\S+','match');
b=strrep([a{:}],'j','j*')
c=str2double(b)
out=reshape(c,[],2)

2 Kommentare

Azzi, When I do it this way, I get the following error message: Error using dlmread (line 147)
Mismatch between file and format string.
Trouble reading 'Numeric' field from file (row number 2, field number 1) ==> +j0\n
Also, some rows have complex values saved as -
12000 15142.1+j-1037.75
12800 51708.5+j-4586.51
Maybe MATLAB has a problem interpreting this?
Azzi Abdelmalek
Azzi Abdelmalek am 3 Jul. 2016
look at edited answer

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

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

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by