matlab导入excel后,Matlab与Excel的相互导入

只是一篇学习笔记,大佬请绕道……

由于大一计算机基础基本都是水过去的,因此对Excel是知之甚少,直到前段时间在看电工杯建模16年的题时,发现Excel在数据题中的运用是如此之重要,因此,打算特地花点时间去学习一下。

Excel作为一个制表软件,它自然是擅长对表格数据进行分类整理,而在数据处理方面,还是要依靠特定的数学软件的,因此,学会Matlab与Excel的相互导入就显得尤为重要。

在这里,我就介绍一下xlsread和xlswrite,顾名思义,xlsread就是读取Excel中的数据,而xls则是将matlab中的数据写入到Excel中。

首先,我写了这样一段代码:

headers=['First','Second','Third'];

xlswrite('first.xlsx',[headers;value]);

filename='first.xlsx';

A=xlsread(filename)

想达到的效果是:

03cd8ed70884?from=groupmessage

9W`{@(EKXZLYH$5~ZMH%M`J.png

可是结果却是:

这就很尴尬了,然后就把表格改了改,代码中逗号改成了空格:

value=[1 2 3;4 5 6;7 8 9];

headers=[1 2 3];

xlswrite('first.xlsx',[headers;value]);

filename='first.xlsx';

A=xlsread(filename)

这样就可以了,老子也懒得研究为什么了,八成是那字符给整的。

表格的导入导出算是解决了,但是又有一个问题了,就是在导入的过程中,文件是怎么找的呢?这个问题,我想学过编程的大概都知道了吧,我也不敢在这装逼,随便说说吧。那么首先就是相对路径和绝对路径的问题了,比如前面的一段代码:

filename='first.xlsx';

还可以这么写:

filename='D:\Program Files\MATLAB\M文件\first.xlsx';

前者是相对路径,要求表格文件要和m文件在同一文件夹中,或者在m文件所处文件夹包含的文件夹中,后者是绝对路径,你爱把表格放哪就放哪,开心就好。

OK,这个问题就这么过去了,我们再来看看这个问题:一个表格中可以包含多个表格,像这样:

03cd8ed70884?from=groupmessage

ZOIOBCU7CN{ZOMQU73}ZYOG.png

这是三个表格,比如我只需要导入Area1_Load这个表格中的数据,该怎么办呢?其实也很简单,只需在exslread中加一个参数,比如:

A=xlsread(filename,'Area1_Load')

这样就能够读取指定表格的数据啦,当然默认是读取第一个表格的数据。

在做到了能读取指定表格后,再进一步,不就是读取一个表格中指定位置的数据了吗。好,现在我在原有代码基础上再加一个参数:

A=xlsread(filename,'Area1_Load','A1:C4')

聪明的人应该都能看出来(看不出的也请强行聪明),A1,C4指的就是表格中的位置:

03cd8ed70884?from=groupmessage

X{Z3ASG95GMOAC%IC{IM8JD.png

即读取第1行第A列(作为左上角)到第4行第C列(作为右下角)的所有数据。

大概就这些了,个人认为这个还是有点用的,接下来打算研究matlab的回归工具箱。

不幸看完的大佬,真是不好意思,献丑了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值