%读取带变量名的数据集的程序,寇文红2007年5月24日于畅春园。
%这是一个读取数据集的程序,目的是把如下带变量名的数据矩阵读进MATLAB。
% <DTYYYYMMDD>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
% 20040615,212000,0.6987,0.6987,0.6986,0.6986,2
% 20040615,212100,0.6987,0.6987,0.6987,0.6987,1
% 20040615,212200,0.6988,0.6988,0.6987,0.6987,2
%这样在处理比较大、多的数据集时,就不需要把文件打开去掉最上面一行了。
 
tic
clear
%用如下方来来读取,把CollectOutput设为0,则MATLAB会把每一列的数字返回成一个数组。
fid = fopen('E:\v time deformation\EURUSD.txt','r');  %打开要读取的数据集,'r'表示要读取打开文件,r是默认值。
C_text = textscan(fid,'%s',7, 'delimiter',',');       %上句读取第一行的文字,即变量名。
C_data = textscan(fid,'%f %f %f %f %f %f %f','delimiter',',','CollectOutput', 0);  
%上句读取第2行以后的数据矩阵。
%其中设定'delimiter',','是因为原文件里每两个数据之间是用逗号隔开的。
%设定'CollectOutput'为默认值0,这样MATLAB把各列分别当作数组返回。
 
fclose(fid);
% C_text{:}                         %这一句返回数组C_text的全部内容(元素)。
% C_text{1}                         %这一句返回数组C_text第1列的内容(元素)。
% C_text(:)                         %这一列返回数组C_text的整体结构。
% C_text(1)                         %这一句返回数组C_text第1列的结构:{8x1 cell}
% C_data{:}                         %查看数组C_data的全部元素,以一列一列的形式返回。
% C_data{1}                         %这一句返回数组C_fata第1列的内容(元素)。是一个列向量。
% C_data{4}                         %这一句返回数组C_data的第4列的元素。是一个列向量。
% C_data(:)                         %这一列返回数组C_data的整体结构。
% C_data(1)                         %这一句返回数组C_data的第1列的结构。
 
%现在可以把数组C_data的各列赋予新的名称。例如:
date = C_data{1};
time = C_data{2};
open = C_data{3};
high = C_data{4};
low = C_data{5};
close = C_data{6};                 
vol = C_data{7};             %以上分别是日期,时点,开盘价,最高价,最低价,收盘价,交易次数。
 
% 现在可以把上述各列数据组成一个新的数据矩阵,以便进一步分析之用。例如:
EURUSD = [date,time,open,high,low,close,vol];
% 也可以用EURUSD=cat(2,date,time,open,high,low,close,vol) 或EURUSD = horzcat(date,time,open,high,low,close,vol); 
%注意:如果在前面C_data=textscan那一行里所设定的各列数据的性质不一样,例如前三列是整数(%d),后四列是%f(小数),
%则上句合并成矩阵时,最后四列数据将被取整。因此数据性质必须一致才行。
[rr,cc] = size(EURUSD)
EURUSD(1:10,:)
 
toc
 
 

%%读取表头
fid = fopen('D:\work\task\task_data\base_s_t.csv');%%nidnopen返回的文件标识符
%%%读取第一行
title = textscan(fid,'%s %s %s %s %s %s %s %s %s %s %s %s %s %s',1,'delimiter',','); %%%%%n——double %s——str%%%注意读取位置数据所在位置
fclose( fid );
%%读取数据
fid = fopen('D:\work\task\task_data\base_s_7.csv');%%nidnopen返回的文件标识符
base_d = textscan(fid,'%n %n %n %n %n %n %n %n %n %q %n %q %q %q','delimiter',',','HeaderLines',1);%%n——double %s——str
fclose(fid );

 
 

MATLAB——textscan的更多相关文章

  1. 【转】matlab的textscan与textread区别

    1.基本语法textscan的基本语法是:C = textscan(fid, 'format') C = textscan(fid, 'format', N) 其中fid为fopen命令返回的文件标识 ...

  2. matlab 中的textscan

    textread 与textscan的区别  textscan更适合读入大文件: textscan可以从文件的任何位置开始读入,而textread 只能从文件开头开始读入: textscan也可以从上 ...

  3. matlab各格式数据读取与保存函数

    数据处理及matlab的初学者,可能最一开始接触的就是数据的读取与保存: %matlab数据保存与读入 function datepro clear all; %产生随机数据 mat = rand(, ...

  4. MATLAB中提高fwrite和fprintf函数的I/O性能

    提高fwrite和fprintf函数的I/O性能 http://www.matlabsky.com/thread-34861-1-1.html     今天我们将讨论下著名的fwrite(fprint ...

  5. matlab中textread

    今天打算跑下程序,突然发现,真的很烂,不会读入数据,简单的Iris.txt一上午都没读进去,在此对matlab中的textread函数做下总结,textscan函数待续. 本文主要内容引自http:/ ...

  6. Matlab中的数据类型

    Matlab中有15种基本数据类型,主要是整型.浮点.逻辑.字符.日期和时间.结构数组.单元格数组以及函数句柄等.         1.整型:(int8:uint8:int16:uint16:int3 ...

  7. MATLAB importdata函数返回值类型

    importdata函数是MATLAB中I/O文件操作的一个重要函数.需要注意的是,针对不同的文件内容,importdata函数的返回值类型也有所不同. MATLAB帮助文档中的详细说明如下: Bas ...

  8. MATLAB cell 数组介绍

    转载:http://www.matlabsky.com/forum.php?mod=viewthread&tid=21089 由于工作需要,经常要处理大量的实验数据.基本都是由仪器导出来,随着 ...

  9. MATLAB介绍

    MATLAB MATLAB[1]  是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink ...

随机推荐

  1. Android: TextView 及其子类通过代码和 XML 设置字体大小的存在差异的分析

    原因: 在代码中通过 setTextSize(float size) 设置,使用的是 sp 为默认单位. 而 XML 中使用了 px,所以需要使用先把做好 sp 和 px 的转换工作. 最近在做 ap ...

  2. 开源企业IM-免费企业即时通讯-ENTBOOST V2014.180 Windows版本号正式公布

    ENTBOOST,VERSION 2014.180 Linux版本号公布,主要添加企业IM应用集成功能,完好安卓SDK功能及部分BUG修正. 下一版本号公布时间.7月15日.敬请关注. ENTBOOS ...

  3. mysql定时执行某任务

    查看event是否开启: show variables like '%sche%'; 将事件计划开启: set global event_scheduler=1; 关闭事件任务: alter even ...

  4. struts2(五) s标签和国际化

    坚持就是胜利. --WH 一.s标签 在struts-2.3.15.1/docs/WW/docs/tag-reference.html下,就有着struts2所有标签的参考文献,只能看看其中比较常用的 ...

  5. 【Unity】3.2 利用预设(Prefab)制作可复用的组件

    分类:Unity.C#.VS2015 创建日期:2016-04-02 一.简介 预制体(Prefab,也叫预设)是"存储在工程视图(Project View)中"的一种特殊的资源, ...

  6. Vue知识点超快速学习

    基础知识: vue的生命周期: beforeCreate/created.beforeMount/mounted.beforeUpdate/updated.beforeDestory/destorye ...

  7. HTML5学习笔记(二十):JavaScript中的标准对象

    这里提到的标准对象指ECMAScript中定义的对象,无论JavaScript运行那种环境(浏览器.Node.js)下都存在的对象. typeof 在JavaScript的世界里,一切都是对象. 但是 ...

  8. 转:Math: Math.atan() 与 Math.atan2() 计算两点间连线的夹角

    我们可以使用正切操作将角度转变为斜率,那么怎样利用斜率来转换为角度呢?可以利用斜率的反正切函数将他转换为相应的角度.as中有两个函数可以计算反正切,我们来看一下. 1.Math.atan() Math ...

  9. c++中数据表如何转成业务实体--map和结构体的相互转换

    应用场景:如何把数据库表中的一行转换成一个业务实体结构体,c#和java中都有实体框架,表到实体的转换很方便,c++中缺少这些框架,但是有一些折中的办法去做.其实问题的本质是:map如何转成结构体. ...

  10. Mac下更改Python pip的源

    步骤 ➜ ~ mkdir .pip ➜ ~ cd .pip ➜ .pip touch pip.conf ➜ .pip vi pip.conf 其中pip.conf的内容为: [global] inde ...