0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Matlab数据导入-importdata和load函数说明

冬至子 来源:算法工程师的学习日志 作者:搬砖工程师domi 2023-07-19 16:00 次阅读

1.引言

在使用matlab将数据导入到工作空间的时候,经常会使用到两个函数,一个是importdata函数,另一个是load函数,它们的使用方法和使用场景是太相同的,如果不太注意就可能会犯错误,在这里做简要的说明和记录。

2.importdata函数

下面是帮助文档提供的importdata函数的语法说明

importdata
load data from file


Syntax
A = importdata(filename)
A = importdata(‘-pastespecial’)
A = importdata( _ ,delimiterIn)
A = importdata( _ ,delimiterIn,headerlinesIn)
[A,delimiterOut,headerlinesOut] = importdata( _ )


Description

  • A = importdata(filename) loads data into array A.
  • A = importdata(‘-pastespecial’) loads data from the system - clipboard rather than from a file.
  • A = importdata( _ ,delimiterIn) interprets delimiterIn as the column separator in ASCII file, filename, or the clipboard data. You can use delimiterIn with any of the input arguments in the above syntaxes.
  • A = importdata( _ ,delimiterIn,headerlinesIn) loads data from ASCII file, filename, or the clipboard, reading numeric data starting from line headerlinesIn+1.
  • [A,delimiterOut,headerlinesOut] = importdata( _ ) additionally returns the detected delimiter character for the input ASCII file in delimiterOut and the detected number of header lines in headerlinesOut, using any of the input arguments in the previous syntaxes.
  • importdata函数主要特点是可以从文本文件中导入数据
  • 导入的数据可以是类似于表格形式的,可以含有表头即列名称,也可以不含表头。
  • 表头可以是文本形式的。
  • 除了官方文档说明的这些我发现,importdata导入的数据除了可以列名外还可以含有行名。导入时列名会被放在colheaders数组中,行名会被放在rowheaders数组中。
  • importdata还可以用来导入图片,传入图片的名称即可

样例1:

%1.txt
%a1 a2 a3 a4
%1 3 5 3
%1 2 4 6
%7 5 4 8
%3 7 9 8
%2 3 7 4
> > impdata = importdata('1.txt')


impdata = 


  包含以下字段的 struct:


          data: [5×4 double]
      textdata: {'a1'  'a2'  'a3'  'a4'}
    colheaders: {'a1'  'a2'  'a3'  'a4'}


> > class(impdata)


ans =


    'struct'

可见importdata函数会将数据导入到一个结构体变量中,文本与数字分别导入到结构不同的属性中。数字部分导入到属性data中是一个矩阵,文本部分导入属性textdata中是一个细胞数组。如果textdata中的文本是列名则同时还会保存到属性colheaders中

样例2:

%2.txt
%b1 1 3 5 3
%b2 1 2 4 6
%b3 7 5 4 8
%b4 3 7 9 8
%b5 2 3 7 4


> > impdata = importdata('2.txt')


impdata = 


          data: [5x4 double]
      textdata: {5x1 cell}
    rowheaders: {5x1 cell}

图片

图片

如果textdata中的文本是行名则同时还会保存到属性rowheaders中。注意不能将行名称放在最后一列,这样将不能正确导入。所以在进行分类时,不能将字符型的类标签放在最后一列,而是应该放在第一列。

样例3:

%3.txt
%a1 a2 a3 a4
%b1 b2 b3 b4
%1 3 5 3
%1 2 4 6
%7 5 4 8
%3 7 9 8
%2 3 7 4


> > impdata = importdata('3.txt')


impdata = 


          data: [5x4 double]
      textdata: {2x4 cell}
    colheaders: {'b1'  'b2'  'b3'  'b4'}

图片

图片

图片

图片

可以看到如果在头部文本超过两行,只有最后一行会作为列名分开读取,前面的列作为一个字符串,不分开,分隔符也不会被识别,而是当做普通字符。

样例4:

%a1 a2 a3 a4
%b1 1 3 5
%b2 1 2 4
%b3 7 5 4
%b4 3 7 9
%b5 2 3 7


> > impdata = importdata('4.txt')


impdata = 


        data: [5x3 double]
    textdata: {6x4 cell}

图片

图片

图片

3.load函数

load函数一般将用来导入纯数字的文件,可以是文本格式的文件或者是matlab保存的mat格式的文件。

>> A = magic(3)


A =


     8     1     6
     3     5     7
     4     9     2


 >> save A.mat A
 >> clear
 >> load A.mat
 >> load 5.txt  # 自动生成X+txt文件名的变量
 >> B = load('5.txt')  # 把导入的数值赋给B

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • MATLAB仿真
    +关注

    关注

    4

    文章

    176

    浏览量

    19902
  • ASCII码
    +关注

    关注

    0

    文章

    51

    浏览量

    17295
收藏 人收藏

    评论

    相关推荐

    【资料分享】STM32的函数说明(中文)

    STM32的函数说明(中文)
    发表于 03-24 23:54

    STM32库函数说明和使用示例---EXTI库

    STM32库函数说明和使用示例---EXTI库
    发表于 09-09 16:16

    请问有USB的库函数说明手册pdf么

    有USB的库函数说明手册pdf么?,哪位前辈有的话请帮忙分享下谢谢了
    发表于 10-29 08:39

    STM32库函数说明及示例

    STM32库函数说明及示例(版本V1.4.0)----第一篇:GPIO库文档说明和约定:该文档主要是对STM32F4各个模块的库进行翻译和说明。文档中加入了作者的一些理解,建议和小贴士。并且在文档
    发表于 08-23 08:30

    Matlab数据拟合基础函数的使用

    Matlab数据拟合基础函数的使用,教你如何拟合两个未知量
    发表于 11-10 16:45 0次下载

    函数说明

    函数说明,配套的函数说明,又需要的下来看看
    发表于 07-15 16:03 0次下载

    IMAQ函数说明

    IMAQ函数说明,感兴趣的可以瞧一瞧!
    发表于 01-14 02:49 30次下载

    Vivado 中数据导入MATLAB的方法

    .txt文件 2.在MATLAB中使用函数xlLoadChipScopeData()将文件导入缓存。(需要相应的MATLAB和ISE设置) 上述两
    发表于 02-09 01:43 2244次阅读

    STM32的函数说明(中文)

    STM32官方库函数中文说明
    发表于 03-01 21:53 90次下载

    GX09和GX06常用函数说明

    本文档的主要内容详细介绍的是GX09和GX06常用函数说明
    发表于 01-13 08:00 27次下载
    GX09和GX06常用<b class='flag-5'>函数说明</b>

    STM32F4 HAL库函数说明下载

    STM32F4 HAL库函数说明下载
    发表于 05-26 09:27 75次下载

    OpenCV-Python中的函数说明

      函数说明 OpenCV C++的图像对象Mat有一个函数convertTo可以把图像数据在不同的精度类型之间来回切换比如从字节到浮点数之间来回切换。非常方便,该函数的官方
    的头像 发表于 07-08 10:52 852次阅读

    STM32CUBEIDE(4)----GPIO输出函数说明

    本章主要讲解GPIO输出函数说明。 最近在弄ST和GD的课程,需要样片的可以加群申请:615061293。
    的头像 发表于 11-24 10:51 1413次阅读
    STM32CUBEIDE(4)----GPIO输出<b class='flag-5'>函数说明</b>

    GD32F303固件库开发(4)----GPIO输出函数说明

    本章主要讲解GPIO输出函数说明。 最近在弄ST和GD的课程,需要样片的可以加群申请:615061293。
    的头像 发表于 11-24 14:17 2586次阅读
    GD32F303固件库开发(4)----GPIO输出<b class='flag-5'>函数说明</b>

    串口屏LUA教程5-控件读写操作函数说明

    串口屏LUA教程5-控件读写操作函数说明
    发表于 04-29 13:09 6次下载