如何将Excel数据导入MATLAB中

如题所述

将Excel数据导入MATLAB中,需要先将数据录入到Excel中,然后再将其导入到MATLAB中参与矩阵运算。具体步骤如下:

1、将待导入的矩阵结构数据录入到Excel中,录入时注意行列要跟原矩阵一一对应。

2、录入完以后保存数据,为了后续步骤使用方便,命名时我们最好把它命名为我们接下来在MATLAB中要引用的变量名(比如在MATLAB中要将该矩阵作为B矩阵参与运算,就可以把它命名为B.xls,xls为文件扩展名)。

3、运行MATLAB程序,点击工具栏上的Import Data工具按钮。

4、在弹出的“Import Data”对话框中找到前面保存的数据文件(B.xls),“打开”。

5、弹出“Import”窗口,在窗口工具栏左侧导入选项中选择“Matrix(矩阵)”,然后点击工具栏右侧的“勾”,导入数据。

6、关闭“Import”窗口,回到MATLAB主程序,在WorkSpace(工作空间)中可以看到刚刚导入矩阵变量,接下来就可以对矩阵进行运算了。

7、每次关闭MATLAB程序都会将工作空间中的变量清空,所以如果经常用到该变量,不妨将该变量保存为MAT文件。

8、这样一来每次打开MATLAB,只需要双击MAT文件便可以将变量导入工作空间。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-02
一xlsread()函数,比import简单的多,具体语句:
A
=
xlsread('yourfilename.xls')
望高手支招!
不一定要拷贝到data文件中啊,你使用xlsread时指定excel绝对路径就可以了嘛二如果只是几个很大的矩阵数据,你直接在MATLAB中定义矩阵,再复制粘贴得了
定义矩阵就先定义个空的呗
比如一维:a=zeros(1,N);%%这是1xN的
二维:a=zeros(N)
%%这是NxN的
然后在workspace窗口打开这个空矩阵,把excel中的数直接复制过来就行了
xlsread(),但是对excel表要求还挺高的,比如有次我就导入失败,是因为名字虽然是.xls,但是实际是
文本文件(制表符分隔)(*.txt)
格式的,所以你注意一下,对照matlab帮助,一般不会有问题
在一个空单元格输入1,并复制它
选中要转化成数值的单元格区域
右击-选择性粘贴-乘补充回答:这样操作以后,仍不能转换数值,说明你原来的数据格式有问题,提示你检查以下几项:
1、数据内是否存在空格,(可以通过查找替换,将空格替换掉)
2、数据内是否存在非法字符!
清除后,就可以运算了
有的时候还需要:
把修改过的区域再进一步修改,全选中,然后“单元格格式”,把单元格格式由“常规”改为“数值”!!!
第2个回答  2020-12-24
第3个回答  2020-02-11
第4个回答  推荐于2017-12-15

将Excel中的数据导入Matlab中可以使用 xlsread 命令,也可用uiimport直接导入

1.使用 xlsread命令

该命令具体用法如下:

num = xlsread(filename)
num = xlsread(filename,sheet)
num = xlsread(filename,xlRange)
num = xlsread(filename,sheet,xlRange)

示例如下:

values = {1, 2, 3 ; 4, 5, 'x' ; 7, 8, 9};
headers = {'First','Second','Third'};
xlswrite('myExample.xlsx',[headers; values]);    %在当前Matlab工作文件夹下创建myExample.xlsx的excel文件

filename = 'myExample.xlsx';    %如文件不在当前文件夹下,还需要加上完整路径
A = xlsread(filename)    %读取全部内容

filename = 'myExample.xlsx';    %读取指定部分的值
sheet = 1;
xlRange = 'B2:C3';
subsetA = xlsread(filename,sheet,xlRange)

filename = 'myExample.xlsx';    %读取指定列的值
columnB = xlsread(filename,'B:B')

注意,运用此命令时不要打开所要操作的Excel文件,不然会报错。


2. 从数据空间中导入

使用命令:

uiimport

然后选择File,再选择相应的Excel文件即可。

然后选择相应的excel文件即可导入。不过这个每次都要手动导入,没有直接使用命令方便,所以不建议使用。

本回答被网友采纳