matlab如何从excel表格中读取数据?
第一种方法,使用xlsread函数来读取excel中的数据
第二种方法,就是把字符转化为数字,使用函数str2num
MATLAB读取Excel表格数据和处理数据
MATLAB
Excel
xlsread
第一,准备数据。下图是Amy,John,Julia,Kite四位同学的数学(Mathematics)和英语(English)考试成绩,保存在名为results.xlsx的Excel表格中,作为本次MATLAB读取的数据。
第二,启动MATALB,新建脚本(Ctrl+N),输入如下代码:
close all; clear all; clc
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()求和。
分步阅读
本文以MATLAB读取某考试成绩的Excel表格数据为例,然后计算出各科的平均成绩、最高分、最低分和各位同学的总成绩。
工具/原料
方法/步骤
注意事项