http://www.tup.tsinghua.edu.cn/Resource/tsyz/035384-01.txt(不知道用什么命令时,可以看看)
任务1:
两个文件 time.txt url.txt中各有1000行数据,读入matlab,构造出2维图。
难点:1、时间的读入到matlab,2、时间如何作为x轴
1、时间读入
某文本文件,有1000行(一下为其中四行):
2009-6-30 14:59
2010-12-5 09:29
2009-7-1 10:27
2010-8-29 16:06
matlab读入到数组T中:
fid=fopen('D:.. ime.txt','r')
[T,count]=scanf(fid,'%d-%d-%d %d:%d',[5,inf])
T是个5*1000的矩阵。
转换成一个1000*5的矩阵TT:
TT=zeros(1000,5)
for i=1:1000
TT(i,:)=T(:,i)
end
时间日期处理
http://wenku.baidu.com/view/87c39a68011ca300a6c390f7.html
2.时间如何处理,可以作为x轴坐标。
使用datenum,将string或数组格式的时间转换为数字格式。
这里一有数组格式的时间,在TT中,但发现数组格式的时间矩阵要求是m by 6 或者 M by 3.所以TT要重新定义并赋值为1000 by 6的矩阵。
Tnum=zeros(1000,1)
for i=1:1000
Tnum(i)=datanum(TT(i,:))
end
plot(Tnum,U,'*')
3.把x轴数字形式的时间改成字符串形式
可以用set(gca,'xtick',m).但是坐标要求为numeric,所以,我手动改,根据datastr(Tnum(i))求其字符串形式。
http://wenku.baidu.com/view/1ff8c2ef81c758f5f61f6736.html(matlab常用作图命令)
http://xiaozu.renren.com/xiaozu/106512/333194632(MATLAB对于文本文件(txt)数据读取的技巧总结)
任务2:一组数据,想知道他们的分布情况
用hist(x,7),hist(x,15)等可以得到直方图。若用subplot(1,2,1),可以在一张图上显示1 by 2的2个直方图的第一个,cdfplot(x),求累积概率密度。。。。。。。。。
任务3:文件读取:
a>有数字有文字的文本文件读取。
exam.txt
'sdf',2
'gh',3.1
'tr0e',2.6
可以用D=importdata('exam.txt') (细节:一行中若开头有'%'(或只要有有%?),则跳过这一行读下一行)
结果D.data=[2 3.1 2.6]
- D.textdata=['sdf','gh','tr0e']
b>很复杂的文件的读取,文件内容:
C9FAC3FCB5C4D6B52,36,1,40,1,A1E4904,321,3,130,1,211014771,0,0,305,地区,2010-12-30 12:18,2010-12-31 09:43
B5A4A,1061,54,985,1,D4C2B5C0A1BAA2,1690,82,1070,1,211779825,0,0,257,地区,2011-1-1 23:53,2011-1-1 23:57
C2FA,1061,54,985,1,capcomD5E2EA,2078,94,1635,1,206207174,0,0,318,地区,2010-12-14 16:30,2010-12-14 16:31
。。。。几千行的17列的数据。
[X{1:17}]=textread('D:Proganyasnsel.txt','%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s','delimiter',',')
4:读取一个100*2的矩阵d的第一列的前5行 d(1:5,1)