matlab 导入元胞,MATLAB导入xls文件以及cell的使用方法

使用matlab读入.xls的文件时候可以用[T,TXT,RAW]=xlsread("filename.xls")导入也可以使用import data 的办法手动导入文件。但是我比较倾向于自动化程度比较高的前者,毕竟有时候导入的文件数量是几百个手动导入不科学。xlsread返回的参数有三个,第一个是xls里面以数字形式储存的数据,第二个是文字形式储存的数据,第三个是前两者的合并也就是一个完整的excel表格。T参数返回呢是在matlab中是以matrix的形式组织的,而 TXT和RAW呢是以cell的形式组织的,而cell的用法接下去会讲。

如果不想导入数据的时候这么麻烦呢建议对excel表格的数据形式进行处理。把需要用当成数字形式处理的数据转成数字如下图:

0818b9ca8b590ca3270a3433284dd417.png

原本整个execl文件都是以文本的形式储存如果读入,T为空;此时我将其中我需要的某一列转换成了数字格式储存,这样xlsread的时候出来的数据就是数字啦,T不为空。

又或者可以将读入的TXT转换成matrix形式。但是TXT是cell类型的数据,如何将cell转成matrix可以用 cell2mat().但是不是所有的cell都可以用cell2mat().必须要满足一个基本要求是, 元胞数组中,处于同行的矩阵要有相等的行数, 处于同列的矩阵要有相等的列数。所以当我在用cell2mat()读入数据时总是出现dimension unconsistent.因为我读的列有些字符串的长度不相同,如“10688363”和“1068836”这两个cell的列数不对齐。那要怎么办呢?

1.把cell转换成string再将string转换成num就好了。

filename='网格50.xls';

[T,TXT,RAW] = xlsread(filename,1);%这里T为空

TXT2 = TXT(2:end,8);

T= str2num(char(TXT2));

2.就是使用cellfun()来帮助啦日后再研究。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值