如何用matlab处理excel文件中的数据

如题所述

用matlab处理excel文件中的数据方法如下:
1、首先生成一个带有数据的excel文件,代码如下图所示

2、编制一个函数,其功能是处理excel工作表中的数据的,在这种情况下,设置范围为[-3,3]。具体的函数代码如下图所示:

3、向excel文件 myExample.xlsx中添加一些数据,具体代码如下图所示,可以看到文件 myExample.xlsx文件中的数据已经改变。而且表中的数据范围在 -6.6493 和 3.4845之间。

4、从上一部的结果可以看出表中的数据范围在 -6.6493 和 3.4845之间。这一步就是要读取表中的数据,重置任何超出[-3,3]范围的数据,并且设定数据表的表名,具体代码及结果如下图所示:

5、修正上一步编制的函数setMinMax,使其能够返回数值变化的数据的位置索引(数据从1开始,按列从上到下,从左到右,进行编号索引)。修改代码如下图所示:

6、运行调用该修正后的函数setMinMaxModify(Data),使其返回变化数据的索引值。如下图所示:

注意事项:
要实现excel里面的数据和matlab里面互相导入,各位需要安装office2007及以上版本(2003没有验证)。wps是不行的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-05
在matlab中读取xls格式的文件内容步骤如下:
1.bb=xlsread('c:feature.xls','a0:an40'),其中:c:feature.xls为文件存放的地址,a0:a40为将要读取的单元格的范围.bb为读取的矩阵在MATLAB中的变量名.
2.使用m文件脚本如下:
Excel = actxserver('Excel.Application');
set(Excel, 'Visible', 1);
Workbooks = Excel.Workbooks;
Workbook = invoke(Workbooks, 'Open', [cd,'\feature\ABC.xls']);
%% 读取 ABC.xls:sheet1 a1(即 R1C1)~an40(即 R240c40) 范围内的 40by40 矩阵
read_excel=ddeinit('excel','ABC.xls:sheet1');
feature1 = ddereq(read_excel, 'R1c1:R40c40');
feature1
%% 关闭ABC.xls
invoke(Excel, 'Quit');
delete(Excel);

注意:在使用时将m文件与xls文件存于同一个目录下.另外:sheet1:可以重命名,且读取sheet的名称要和实际存放的名称相同.
matlab是一个强大的处理数据的软件,包括一些复杂的科学数据、图像处理、office等文件格式的数据,必须学会它提供的api方法来进行读取。
相似回答