Matlab学习笔记(7)——importdata和load函数
来源:互联网 发布:worknc软件怎么样 编辑:程序博客网 时间:2024/06/05 16:03
- importdata和load函数
- 引言
- importdata函数
- Demo1
- Demo2
- Demo3
- Demo4
- Demo5
- Demo6
- load函数
- Demo
importdata和load函数
引言
在使用matlab将数据导入到工作空间的时候,经常会使用到两个函数,一个是importdata函数,另一个是load函数,它们的使用方法和使用场景是太相同的,如果不太注意就可能会犯错误,在这里做简要的说明和记录。
importdata函数
下面是帮助文档提供的importdata函数的语法说明
importdata
Loda 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还可以用来导入图片,传入图片的名称即可
Demo1:
%file0.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('file0.txt')impdata = data: [5x4 double] textdata: {'a1' 'a2' 'a3' 'a4'} colheaders: {'a1' 'a2' 'a3' 'a4'}>> class(impdata)ans =struct
可见importdata函数会将数据导入到一个结构体变量中,文本与数字分别导入到结构不同的属性中。数字部分导入到属性data中是一个矩阵,文本部分导入属性textdata中是一个细胞数组。如果textdata中的文本是列名则同时还会保存到属性colheaders中
Demo2
%file1.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('file1.txt')impdata = data: [5x4 double] textdata: {5x1 cell} rowheaders: {5x1 cell}
如果textdata中的文本是行名则同时还会保存到属性rowheaders中。注意不能将行名称放在最后一列,这样将不能正确导入。所以在进行分类时,不能将字符型的类标签放在最后一列,而是应该放在第一列。
Demo3
%file2.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('file2.txt')impdata = data: [5x4 double] textdata: {2x4 cell} colheaders: {'b1' 'b2' 'b3' 'b4'}
可以看到如果在头部文本超过两行,只有最后一行会作为列名分开读取,前面的列作为一个字符串,不分开,分隔符也不会被识别,而是当做普通字符。
Demo4
%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('file3.txt')impdata = data: [5x3 double] textdata: {6x4 cell}
Demo5
%file4.txt%1 3 5 3 a1%1 2 4 6 a2%7 5 4 8 a3%3 7 9 8 a4%2 3 7 4 a5>> impdata = importdata('file4.txt')impdata = '1 3 5 3 a1' '1 2 4 6 a2' '7 5 4 8 a3' '3 7 9 8 a4' '2 3 7 4 a5'
Demo6
%file5.txt%1 3 5 3%1 2 4 6%7 5 4 8%3 7 9 8%2 3 7 4%a1 a2 a3 a4>> impdata = importdata('file5.txt')impdata = 1 3 5 3 1 2 4 6 7 5 4 8 3 7 9 8 2 3 7 4
可见如果文本在最后一行,importdata将忽略它。
load函数
load函数一般将用来导入纯数字的文件,可以是文本格式的文件或者是matlab保存的mat格式的文件。
Demo
%file6.txt%1 3 5 3%1 2 4 6%7 5 4 8%3 7 9 8%2 3 7 4>> A = magic(3)A = 8 1 6 3 5 7 4 9 2>> B = magic(5)B = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9>> save mydata A B>> clear>> load mydata>> load file6.txt
- Matlab学习笔记(7)——importdata和load函数
- 【matlab】常用函数importdata
- MATLAB中导入数据:importdata函数
- matlab中importdata函数导入数据 到工作空间
- Matlab学习笔记-数据和函数可视化
- matlab函数使用说明之——load函数
- matlab函数使用说明之——load函数
- Hibernate3学习笔记(3)——Hibernate session中get与load函数的区别
- MATLAB 函数学习笔记
- ImportData
- Matlab学习笔记(3)——diag函数的使用
- Matlab学习笔记(8)——hist函数
- Matlab学习笔记(9)——textread函数
- MATLAB学习笔记(1 )find函数
- MATLAB学习笔记 函数记录(一)
- MATLAB学习笔记 函数记录(二)
- MATLAB学习笔记 函数记录(三)
- MATLAB学习笔记 函数记录(四)
- openCV和OCR的简单介绍
- Redis中带空格的key的批量删除步骤
- 关于机器学习你必须了解的十个真相
- mysql基本更新语句
- java读取zookeeper中的配置文件信息
- Matlab学习笔记(7)——importdata和load函数
- Golang优秀开源项目汇总
- js和html的注册页面
- <Java设计模式>---依赖倒置原则(DIP)
- thinkphp5 with的常用写法
- jvm系列(三):GC算法 垃圾收集器
- call+apply
- 商城首页的展示方法
- 分布式机器学习平台大比拼:Spark、PMLS、TensorFlow、MXNet