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

 我来答
苹果xing63
2018-04-05 · TA获得超过2807个赞
知道小有建树答主
回答量:56
采纳率:100%
帮助的人:1.5万
展开全部

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

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


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

    分步阅读

    本文以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()求和。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式