1自己先下载原始数据格式 时间 开 高 低 收
1 读取数据 xlsread 函数
[num,txt,raw]=xlsread(filename) % ‘000001.xls'
Date=datenum(txt(5:length(txt),1)) %时间
OpenPrice=num(:,1) %开盘
HighPrice=num(:,2) %收盘
LowPrice=num(:,3)
ClosePrice=num(:,4)
Vol=num(:,5) %成交量坦困
save Data Date OpenPrice HighPrice LowPrice ClosePrice Vol%存储让指念mat文件 方便下次使用
candle(HighPrice,LowPrice,ClosePrice,OpenPrice,'r',Date,12)%高 低 收 开 红色 时间 时间格式
1.mat数据格式是matlab的脊慎数据存储的标准格式。
你可以调用matlab的子程序库,用c或fortan调用mat格式的数据。
我给你几个函数名
matopen 打开mat文件
matclose 关闭mat文件
magetfp 取得mat文件的c语言句柄
matGetArray 取得一个数组
具体内容看联机文档
2.
mat1
KK: []
DJ: []
n.[C]
1. 地席草席
He spread a mat on the floor.
他在地板上铺上一张席子。
2. 擦鞋垫
She hid the key under the door mat.
她将钥匙藏在擦鞋垫下。
3. (放花瓶,盘子等的)垫子
We put each dish on a place mat.
我们把每个盘子放在餐具垫上。
4. (体 *** ,摔跤用的)垫子
5. 丛,簇,团[(+of)]
He lay hidden by a mat of creepers.
他躲在一簇攀缘植物后面。
vt.
1. 给...铺上席子(或垫子)
The room is matted.
这房间地上铺着草垫。
2. 使缠结
The swimmer's wet hair was matted together.
那游泳者的湿头发乱糟糟结成一团。
vi.
1. 缠结
The fur collar mats when it gets wet.
毛皮领子弄湿了就会袜野指缠结起来。
mat2
KK: []
DJ: []
a.
1. 无光泽的,暗淡的
2. 表面粗糙的,不光滑的
n.
1. 无告配光表面
2. 无光毛面加工器
mat3
KK: []
DJ: []
n.
1. (画或照片的)衬边,框边[C]
vt.
1. 给(画或照片)配衬边(或框边)
从bggf.mat 读得的bggf数据看上去有4列看你用highlow 函数的调用方式,这四列应该是
开市价 最高价 最低价 收市价
而r是用size获得的数据的行数
之所以报错就是bggf(r-100:r,2)取下标的时候错了
r是数据的行数,肯定是个正整数没错老搜,错就错在r-100
你文件里面的数据如果不侍帆历足100行,那么r-100就会出现负数
数据正好是100行,那么r-100就会等于0
在matlab里面,下标是从1开始的正整数,所以发生以上情况就会错
如果你的数据是刚刚好100行的,那么完全不用这么麻烦,直接用:代替就可以了
highlow(bggf(:,2),bggf(:,3),bggf(:,4),bggf(:,1),'r')
但是这样写无论是数据有多少行,图都会照画,不轿敏足100行,超过100行照单全收
如果你的数据有超过100行,你只想取最后的100行,你应该减99而不是100
highlow(bggf(r-99:r,2),bggf(r-99:r,3),bggf(r-99:r,4),bggf(r-9:r,1),'r')
但是当数据不足行时,这样写会同样报错
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)