how to use the data from .dat file for plotting graph
Mostrar comentarios más antiguos
I generated a data file in .dat form using a spice tool now I want to call this data file in matlab and use the x and y coordinates from the data file to plot the data in matlab .I am attaching the file having my data it is in txt format now as the attachments doesn't accept .dat format so anyone working with my file plz change the extension to .dat.
Respuestas (2)
Star Strider
el 3 de Jun. de 2014
I do not know if this would work for ‘.dat’ files, but it works for the ‘.txt’ file you posted:
T = readtable('switch.txt', 'HeaderLines', 5, 'Delimiter','\t','ReadVariableNames',false);
Time = T.Var2;
iv1 = T.Var3;
figure(1)
plot(Time, iv1)
grid
7 comentarios
Siddharth Pande
el 3 de Jun. de 2014
Star Strider
el 3 de Jun. de 2014
Editada: Star Strider
el 3 de Jun. de 2014
It worked perfectly for the text file. Just rename your ‘.dat’ files as ‘.txt’ files and use them that way.
First, if you defined:
filename = 'switch.txt';
the readtable line should be:
T = readtable(filename, 'HeaderLines', 5, 'Delimiter','\t','ReadVariableNames',false);
There should not be any quotes around filename in your call to readtable.
You didn’t post all your relevant code for opening the file and reading it, so I have no way of knowing what else you did, figuring out what’s wrong, and perhaps fixing it. The point is that reading it as a ‘.txt’ file works.

Kelly Kearney
el 3 de Jun. de 2014
The readtable function wasn't introduced until very recently (R2013b, I think). Anyone running an older version (and I would assume that's a lot of people, including myself) could try dataset as an alternative (if they have the Statistics Toolbox), or textscan if not.
Siddharth Pande
el 3 de Jun. de 2014
Star Strider
el 3 de Jun. de 2014
I haven’t used textscan since readtable appeared. This should work:
filename = 'switch.txt';
dfin = fopen(filename, 'r'); % Open data file for reading
datin = textscan(dfin, '%f %f %f', 'HeaderLines',5); % Read data, skip 5 header lines
Time = cell2mat(datin(2)); % Define variables
iv1 = cell2mat(datin(3));
The plot call doesn’t change, nor does the plot.
Siddharth Pande
el 4 de Jun. de 2014
Star Strider
el 4 de Jun. de 2014
Editada: Star Strider
el 4 de Jun. de 2014
My pleasure!
(The sincerest form of appreciation here on MATLAB Answers is to Accept the Answer that most closely solves your problem.)
Daniel
el 17 de Oct. de 2014
0 votos
Hi guys, I have a similar problem. I saved some data in a .dat file. I can load the data to matlab and it saves it in an array but I don't know how to plot a graph using the data. Any help would be appreciated.
2 comentarios
Siddharth Pande
el 17 de Nov. de 2014
Star Strider
el 17 de Nov. de 2014
@Siddharth Pande —
I very much appreciate your recommending my Answer. Now would your please Accept it?
Categorías
Más información sobre Creating, Deleting, and Querying Graphics Objects en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!