matlab数据处理 书,总结一下用matlab做数据处理的几个小坑——学习笔记

导入数据是个苦差事,有时候matlab不接受你给它的数据格式,譬如xls和xlsx明明能够打开,但是matlab却死活不认。

怎么办?如果能够将这些数据变成txt格式,会方便得多

给你们一个思想大量数据xls首尾相接汇总到一个xls文件中可以使用 批处理方法。百度搜索 批处理大量数据汇总到一个文件中

①xlsread('文件名.xls',一些位置参数)

详细参数在命令框中输入 help xlsread

②csvread('文件名.csv',一些位置参数)

③批量读取一个文件夹中所有文件名字的好方法file_read=dir('E:\股票数据\1沪深A\*.txt');%读取文件夹的位置

如此读取出来的file_read会是一个cell元组类型,如果你对matlab只是一知半解,那么操作这个cell,下面的命令可以帮你,用上面的

file_read生成的cell作为例子如果你的cell长得就是矩阵模样,但是无法调用

要调用cell的某行某列,使用file_read(行号,列号) 即可,但是调用出来还是一个cell,就算这个cell就是一个数字,但是它都没办法直接输出和使用到别的地方。

怎么处理呢?

char(file_read(行号,列号))可以把这个单元cell转化成字符串形式

而利用str2num即可将本来就是数字的字符串转化成真正的数字

str2num(char(file_read(行号,列号)))=这个单元cell的数字,float双精度浮点数类型表示

补充:而我们知道,如果给定一个字符串,假如说ch='abcdefghi'

这种用法ch(3:5)='cde'是从字符串第一个字符数起开始调用的方法

补充2:要给cell的某行某列赋值,怎么办??

例如file_read(1,3)={[可以写任意数字或变量]}

意味着给第一行第三列这个单元格赋值,这样。如果原来cell的规模根本没有到1行三列,matlab会自动将cell补齐空值到一行三列。就算你给那个单元格赋值非空,其他单元格会自动补齐空值[] 直到让cell成为矩阵

补充3:cell直接转化成数值矩阵

例子

C = {[1] [2 3 4]; [5; 9] [6 7 8; 10 11 12]};

M = cell2mat(C) ;

这样,M就变成了数值矩阵

M =

1   2      3   4

5   6     7    8

9  10     11  12

④我怎么循环打开一个文件夹下的所有文件?

谈这个话题,怎么打开txt文件?

textread和textscan是好方法,具体不详述,你可以在CSDN论坛上搜索到这种用法

⑤合并字符串

有时候,在处理地址路径的循环迭代当中会用到

filename=strcat('E:\股票数据\1沪深A\',filename);

原本filename仅仅是'SH00001.txt'

这样的文件名,没有路径

但是strcat能够将两个字符串拼到一起,得到的结果就是

filename='E:\股票数据\1沪深A\SH00001.txt'

如此便能够和最上面说的,dir命令结合起来对文件夹进行循环

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值