Matlab之常见问题(1)

在尝试用matlab批量化处理Excel数据中出现了一些问题 

1、Excel数据读入

数据的读入一般使用xlsread()函数,

 num=xlsread('cm.xlsx',2);

Filename为路径文件名,xlsread(filename)函数会直接读取filename对应xls文件中的sheet1中的数据区域到双精度矩阵num中。
sheet用来指定读入excel文件的第几个sheet
xlrange 是指定sheet中表格的区域,使用时需要用单引号括起来,使用方法为’A2:C14’。

2、[num,txt,raw]的说明

其中,num是数值型变量且为矩阵,txt是字符型变量且为细胞数组,raw既含数值型变量又含字符型变量,当然,raw是细胞数组。一般我们进行的数据分析都是同时对数值和字符进行处理的,本人建议利用num作数据预处理,然后用经过缺失和异常数据插补的raw来生成新的Excel表格,再利用新的Excel表格作下一步的工作即可 。

 

 num和txt导入时会有一定的信息丢失。

3、Cell结构

Cell是Matlab中的一种数据类型,概念和结构类似。用大括号定义,括号里可以是任意类型的数据或矩阵。

关于cell的创建:
1.跟一般创建矩阵一样,直接使用C = {A B D E}这种形式,不过这里把"[]“改成了”{}"

2.使用cell创建cell,C= {C1 C2},这里C1和C2都是cell类型,直接把C1 C2作为一个cell得到的C3是一个1x2的cell数组;使用C3 = [C1 C2],是使用C1和C2的内容来创建cell数组

3.使用cell函数,A=cell(2,2),创建一个空的2x2的cell矩阵.

关于cell的访问:
1.X= C(s)使用这种"()“形式的返回的是cell类
2.X = C{s}使用这种”{}"形式的返回的是cell中的内容

3.其他的基本上与通常的数组.矩阵访问一样了
4.A{1,1}(2,3:end)访问的是A中的第一个cell里面内容的第2行的第三个元素以后的所有元素
5.A{1,3}.name访问的是A中的A{1,3}cell里面结构的name值
6.cell的图形化显示使用命令cellplot(A)即可如B={[1;2]},这就定义了一个cell型的变量B,里面保存的是一个矩阵[1;2],要引用里面的数据只要在大括号里写上对应的下标即可,如B{1}。

下面我们给B再加个元素,我们可以这样定义B(2)={‘hello’}。也可以利用引用的方法定义B{2}=’hello’。第二种方法比第一种方法更方便所以更常用。

这样B就有两个元素了,B(1)是{[1;2]},B(2)是{‘hello’},每个元素都是cell型的
  (注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是’hello’)。


4、关于&和&&

matlab中&和&&都是与的意思,不同的是&全部是先计算左右两个式子真假,然后逻辑与,&&在计算前面的式子的值的时候,如果为假,就不会再计算下一个式子的值,直接为假,&&效率更高,两者的结果是相同的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值