matlab 导入txt_MATLAB导入excel表格技巧大全

本文详细介绍了如何使用MATLAB导入Excel表格,包括单Sheet和多Sheet的情况,通过实例展示了xlsread函数的使用方法,涵盖了导入特定列、全部数据及部分数据的技巧。
摘要由CSDN通过智能技术生成

在MATLAB导入txt文件技巧大全这篇推文中,讲解了如何将txt文件导入MATLAB中。今天继续为大家讲解如何将excel表格导入MATLAB中。

一个excel表格中可能有一个Sheet多个Sheet,虽然在MATLAB中只需要加些代码即可轻松实现,但是为了帮助各位更容易理解。

因此,分为两部分讲解:1)excel表格中只有一个Sheet2)excel表格中只有多个Sheet


一 | excel表格中只有一个Sheet

表格中的数据如下所示,此时表格中只有一个Sheet。

8eca9d7765cca1734edb0603a7f99ac6.png

01 | 导入第1列数据

现在想把第1列的数据全部导入进来,可以使用如下代码,A1表示这一列的第一个数据的位置,A13表示这一列的最后一个数据的位置。

filename = '例子.xlsx';                       %文件名
[num,txt,raw] = xlsread(filename,'A1:A13');   %第一列在excel中为 A+数字,num是数字矩阵,txt是文字部分的元胞数组,raw是所有数据的元胞数组

运行如下,num是一个12行1列的矩阵,表示提取出的数字的矩阵;txt是一个1行1列的元胞数组,表示提取出的文字的元胞数组;raw是一个13行1列的元胞数组,表示提取出的所有数据的元胞数组

733bb2527eb3f1c743596f4810f91bec.png

12c8b4ece27208a228d70cedb959ba30.png

df312d2017f60efc19346575214814b8.png

xlsread函数在提取数字的过程中,遇到文字会分三种情况进行处理:

1)文字在需要导入的第一个数字之前,此时xlsread函数会自动跳过这些文字,直接跳到第一个需要导入的数字;

2)文字在需要导入的若干个数字之间,此时xlsread函数会将这些文字赋值为Nan。

3)文字在需要导入的若干个数字之后,此时xlsread函数会自动跳过这些文字。

在这个例子中,因为“序号”在第一个需要导入的数字“1”前面,所以直接跳过“序号”


02 | 导入第3列数据

为了进一步验证xlsread函数的机制,不妨拿第3列做一个实验,此时依然想把第3列所有数据全部导入进来,使用如下代码,C1表示这一列的第一个数据的位置,C13表示这一列的最后一个数据的位置:

filename = '例子.xlsx';                       %文件名
[num,txt,raw] = xlsread(filename,'C1:C13');   %第三列在excel中为 C+数字,num是数字矩阵,txt是文字部分的元胞数组,raw是所有数据的元胞数组

代码运行结果如下,num是一个8行1列的矩阵,表示提取出的数字的矩阵;txt是一个13行1列的元胞数组,表示提取出的文字的元胞数组;raw是一个13行1列的元胞数组,表示提取出的所有数据的元胞数组

f92d7d321aa0e762290fa8499b72a058.png

b42cf643810f0adf7cda13941831d814.png

9b9ed3e69b5a3da23981d6dffbd35e67.png

在这个例子中,xlsread函数在提取数字时,因为“y坐标”、“七”和“八”在第一个需要导入的数字“9”的之前,所以直接跳过“y坐标”、“七”和“八”,而“十”在需要导入的数字之间,所以赋值为Nan,又因为“十七”和“十八”在需要导入的数字之后,所以直接跳过


03 | 导入Sheet1全部数据

现在想导入全部数据,可使用如下代码:

filename = '例子.xlsx';                       %文件名
[num,txt,raw] = xlsread(filename);            %num是数字矩阵,txt是文字部分的元胞数组,raw是所有数据的元胞数组

代码运行结果如下,

num是一个12行3列的矩阵,表示提取出的数字的矩阵;txt是一个13行3列的元胞数组,表示提取出的文字的元胞数组;raw是一个13行3列的元胞数组,表示提取出的所有数据的元胞数组

8ed37557de467e7e7485fa67906a7883.png

30888b087ed5016c9e105d30d4bbaca7.png

54731b639be1ef8e39f29362cb9ce672.png

04 | 导入Sheet1部分数据
现在想导入Sheet1中如下所示的部分数据,5的位置是A6,16的位置是C11

719e1061b0a2b4781366d8752573edd2.png

可以使用如下代码导入上述数据:

filename = '例子.xlsx';                       %文件名
[num,txt,raw] = xlsread(filename,'A6:C11');   %A6是左上角数据位置,C11是右下角数据位置,num是数字矩阵,txt是文字部分的元胞数组,raw是所有数据的元胞数组

代码运行结果如下,

num是一个6行3列的矩阵,表示提取出的数字的矩阵;txt是一个0行0列的元胞数组,表示提取出的文字的元胞数组;raw是一个6行3列的元胞数组,表示提取出的所有数据的元胞数组

d322be16da7737bc2acfbfb5e6c92fa6.png

fad2f5b2f27019106f2f1d04554b08fc.png

255954674d11867a272da3075a31e736.png

二 | excel表格中有多个Sheet

现在excel表格中有3个Sheet,分别为Sheet1、Sheet2和Sheet3。

b010da130d9e53b1f0e515a27830af52.png

77d9712059e34ba0ef49eeff7dfa3142.png

32ffb5cb218426e5d53d96d112a24f23.png

现在想导入Sheet2中如下部分的数据,15的位置是A4,26的位置是C9

7edc39650094b4a1ca4b74a8293253f8.png

可以使用如下代码导入上述数据,相较于之前的代码,在filename后增加了'Sheet2',表示提取哪一个Sheet的数据:

filename = '例子.xlsx';                               %文件名
[num,txt,raw] = xlsread(filename,'Sheet2','A4:C9');   %A4是左上角数据位置,C9是右下角数据位置,num是数字矩阵,txt是文字部分的元胞数组,raw是所有数据的元胞数组

代码运行结果如下,

num是一个6行3列的矩阵,表示提取出的数字的矩阵;txt是一个0行0列的元胞数组,表示提取出的文字的元胞数组;raw是一个6行3列的元胞数组,表示提取出的所有数据的元胞数组

4096c523a09ef7110178accf3a6e8e93.png

4b3b2d4c0348e2ec9e7a269b18e56e48.png

536d4a2f89129dfc4c0171789c58a126.png

更多资源尽在:优化算法交流地

往期精选

  • 号内搜索
  • 旅行商问题(TSP)合辑
  • MATLAB导入txt文件技巧大全
    遗传算法(GA)求解旅行商问题(TSP)MATLAB代码讲解
    车辆路径问题(VRP)合集
    遗传算法求解0-1背包问题(附matlab源代码)
  • 模拟退火(SA)算法求解旅行商 (TSP)问题MATLAB代码讲解
  • 多目标优化 | 基于NSGA-II的多目标0-1背包问题求解(附matlab代码)
  • 多目标优化 | NSGA-II进阶教程(全网首个三目标优化教程)
  • 机器学习 | 基于遗传算法的BP神经网络优化算法(附MATLAB代码)
  • 遗传算法求解车间调度问题(附MATLAB代码)
  • 多目标优化 | NSGA-II
  • word转换为pdf后图片失真的解决办法(全网首发)
  • 机器学习 | 简单实现Bp神经网络
  • 二维装箱问题之BL法修正版(附MATLAB代码)
    快速入门文献管理软件-EndNote X9
  • 最小二乘法(附MATLAB代码)
    NSGA-II多目标优化算法讲解(附MATLAB代码)
  • 基于人工势场法的机器人二维路径规划(附MATLAB代码)
  • 基于粒子群算法的多目标搜索算法讲解(附MATLAB代码)
    蚁群算法通俗讲解(附MATLAB代码)
    混合粒子群算法通俗讲解(附MATLAB代码)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值