Entering huge arrays of numbers...
Show older comments
I have a thermocouple problem I am working on. I am given a set of data that i need to enter into matlab before I can get started. The data I have is time and corresponding temperature. I can get the time into matlab because it is at set intervals, but the temperatures are sporadic. how do you input a very large set of data(10 pages) that has a start and ending value, but no specific increment? Any help would be greatly appreciated.
5 Comments
per isakson
on 13 Feb 2015
Edited: per isakson
on 13 Feb 2015
"given a set of data that i need to enter into matlab"   Is that in the form of a text file? In that case what is the format? How do you want data organised in Matlab? Did you try the tool, Import Data under the HOME tab?
Joseph
on 13 Feb 2015
Edited: per isakson
on 13 Feb 2015
per isakson
on 13 Feb 2015
I assume
- this is a snap-shot of the first few lines of a text file!
- you did not try the tool, Import Data under the HOME tab
Am I correct?
Joseph
on 13 Feb 2015
John D'Errico
on 14 Feb 2015
So use textread, or any of a huge variety of tools. Whats the problem?
Answers (3)
John D'Errico
on 13 Feb 2015
Edited: John D'Errico
on 13 Feb 2015
0 votes
Read it in from a file, as a list of (time, temperature) pairs. So it can be either a 2-d array with say two columns, or a pair of vectors. If the times span too long of a time, you will probably need datenum to convert them into a numeric time format.
If you have the data, surely you can get it into an simple text file, or even an Excel spreadsheet? Start typing.
Star Strider
on 13 Feb 2015
0 votes
I’d appreciate a bit more information. What do you mean by ‘the temperatures are sporadic’? Do you have constant sampling times but the temperatures are missing from some of them, or do the temperatures have a large amount of variability?
There may be several ways to deal with your data once we know a bit more about it. No guarantees though with what you’ve already told us.
4 Comments
Joseph
on 13 Feb 2015
Star Strider
on 13 Feb 2015
Noise is normal in empirical measurements. That’s the reason statisticians get the big bucks.
How do you want to handle the variability? I would either just leave it alone, or if you have a mathematical model of how it should work, fit a linear or nonlinear regression curve to it. The model depends on the system you are measuring, the time-temperature curve you hypothesize, the thermocouple interface, and other technical issues.
It would be best if you also had a model of your thermocouple and could model the voltage and linearisation of it with respect to temperature, as well. That might help you get a comprehensive temperature-voltage model, but then thermocouple interfacing circuitry could have advanced to the point that such is not an issue since I last dealt with them.
Joseph
on 13 Feb 2015
Star Strider
on 13 Feb 2015
Edited: Star Strider
on 13 Feb 2015
For an Internet file, there are several ways to read it. Unfortunately, these have also changed between MATLAB versions, so you may need to search the documentation for your version. The online documentation (for R2014b) is the collection of routines linked to in Web Access.
After you download it, reading it into your MATLAB workspace depends on the file format. That is another huge subject, so I refer you to the documentation for Data Import and Export.
It’s not as daunting as it seems. It becomes a lot simpler when you know more details about the file.
per isakson
on 13 Feb 2015
Edited: per isakson
on 13 Feb 2015
This is the way I would do it
fid = fopen( 'cssm.txt' );
cac = textscan( fid, '%f%f', 'Headerlines', 1, 'CollectOutput', true );
fclose( fid )
num = cac{1};
plot( num(:,1), num(:,2) )
where cssm.txt is in the current directory (if not use a full filespec ) and contains
Time Temp
.01 22.59708
.02 22.61797
.03 22.59888
Categories
Find more on Data Import and Export in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!