matlab如何从excel表格中读取数据?

matlab如何从excel表格中读取数据?,第1张

第一种方法,使用xlsread函数来读取excel中的数据

第二种方法,就是把字符转化为数字,使用函数str2num

MATLAB读取Excel表格数据和处理数据

分步阅读

本文以MATLAB读取某考试成绩的Excel表格数据为例,然后计算出各科的平均成绩、最高分、最低分和各位同学的总成绩。

工具/原料

MATLAB

Excel

xlsread

方法/步骤

第一,准备数据。下图是Amy,John,Julia,Kite四位同学的数学(Mathematics)和英语(English)考试成绩,保存在名为results.xlsx的Excel表格中,作为本次MATLAB读取的数据。

第二,启动MATALB,新建脚本(Ctrl+N),输入如下代码:

close allclear allclc

A=xlsread('results.xlsx')

其中,由于results.xlsx数据存放位置与MATLAB设置的路径一致,所以本文直李锋接就写成xlsread('results.xlsx')。如果路径不一致,应该写成xlsread('路径\results.xlsx')的形式,例如xlsread('D:\Matlab\MATLAB2017\results.xlsx')的形式。

第三,保存和运行上述脚本,Excel表格中的数据就被读入A中,在工作区可以看到A的值(双击可以打开),在仔扰戚命令行窗口也可以看到如下结果:

A =

99    73

85    95

62    86

55    45

第四,下面计算四位同学数学(Mathematics)和英语(English)的平均成绩、最高分、最低分和各位同学的总成绩。接着输入如下代码:

format compact

Maths_mean=mean(A(:,1))

Maths_max=max(A(:,1))

Maths_min=min(A(:,1))

English_mean=mean(A(:,2))

English_max=max(A(:,2))

English_min=min(A(:,2))

Amy_sum=sum(A(1,:)),John_sum=sum(A(2,:))

Julia_sum=sum(A(3,:)),Kite_sum=sum(A(4,:))

其中,format compact表示行间距紧凑(一会儿在命令行窗口中会看到)。A(:,1)表示第一列,也就是四位同学的数学(Mathematics)成绩,A(1,:)表示第一念陵行,也就是Amy的数学(Mathematics)和英语(English)成绩。其他依次类推。

第五,保存和运行上述脚本,得到如下结果:

Maths_mean =

75.2500

Maths_max =

99

Maths_min =

55

English_mean =

74.7500

English_max =

95

English_min =

45

Amy_sum =

172

John_sum =

180

Julia_sum =

148

Kite_sum =

100

可以看出,四位同学的数学(Mathematics)平均分为75.25,最高分99,最低分55,英语(English)平均分为74.75,最高分95,最低分45,还以看到Amy总分172分,John总分180分,Julia总分148分,Kite总分100分。

END

注意事项

format compact起到使行间距紧凑的作用。

mean()求平均值,max()求最大值,min()求最小值,sum()求和。

读取sheet1中的所有数据

我们以03版excel为例,假设excel中数据为

默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,这里我所有的数据都在example.xls中。输入以上命令,回车

NUM返回的是excel中的尺卜数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。一般情况下,我们读取的都是excel中的数据,所以陵键穗可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。

读取指定sheet中的数据

假如我们想读取第二个sheet中的数据,亮弊这里请注意:matlab读取excel中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在第二位,我们输入命令[NUM]=xlsread('example',2),回车

结果如下:

读取指定单元格中的数据

以sheet2中的数据为例

假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('example',2,'A3:D7'),回车,结果如下:

如果以上经验有用,请点击下方的有用按钮支持我的工作,谢谢!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12333629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存