2021-02-23 Matlab数据导入--importdata和load函数

article/2025/10/27 13:30:39

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

importdata和load函数

 

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

图片


http://chatgpt.dhexx.cn/article/MRMCjx2P.shtml

相关文章

curl命令的使用

curl命令是一个模拟浏览器请求的命令,当你去curl一个网址的时候,会返回给你网站的html代码,因此可以代替浏览器去发送请求,适用于那些纯命令行界面的linux,给您更爽的体验,话不多说,来看看curl命…

curl命令的常用操作

curl是非常实用的命令行工具,用来与服务器之间传输数据。它的命令行参数多达几十种。 在Linux环境中使用curl命令可以进行接口测试。利用curl对http协议发送Get/Post/Delete/Put请求,同时还可以携带header来满足接口的特定需求。 curl命令的语法 curl[options] [U…

windos下 curl命令使用

什么是curl命令? curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。 如何在windows下使用curl命令? 打开dos窗口(winR 输入cmd 打开&#x…

curl命令进行接口测试

有时候会遇到一些需求:后端先写功能接口,前端后面再做,这样在灰度发版的时候怎么验证生产接口功能? 1、接口自动化 2、postman直接调用生产接口 3、curl命令测试接口 今天重点是方法3 一、curl命令的介绍: Window…

curl命令的使用操作,你知道多少?

curl是非常实用的命令行工具,用来与服务器之间传输数据。它的命令行参数多达几十种。 在Linux环境中使用curl命令可以进行接口测试。利用curl对http协议发送Get/Post/Delete/Put请求,同时还可以携带header来满足接口的特定需求。 01:curl命令的语法 c…

curl 命令详解

curl 是一种命令行工具,作用是发出网络请求,然后获取数据,显示在"标准输出"(stdout)上面。它支持多种协议,下面列举其常用功能。 一、查看网页源码 直接在 curl 命令后加上网址,就可以…

强大的curl命令的介绍和一般用法

curl,全称CommandLine URL 或 CommandLine Uniform Resource Locator,顾名思义,curl命令是在命令行方式下工作,利用URL的语法进行数据的传输或者文件的传输。 这个命令行工具现在多用于Unix和Linux操作系统,是一个开源…

linux之curl命令

curl命令 是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cook…

curl命令介绍与使用

curl,全称CommandLine URL 或 CommandLine Uniform Resource Locator,顾名思义,curl命令是在命令行方式下工作,利用URL的语法进行数据的传输或者文件的传输。 这个命令行工具现在多用于Unix和Linux操作系统,是一个开源…

Linux系统中curl命令用法详解

在Linux系统中curl是一个利用URL规则在命令行下工作的文件传输工具,是一款强大的http命令行工具。它支持文件的上传和下载,是综合传输工具。 curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client&#xff09…

强大的curl命令的介绍和一般用法(*)

curl,全称CommandLine URL 或 CommandLine Uniform Resource Locator,顾名思义,curl命令是在命令行方式下工作,利用URL的语法进行数据的传输或者文件的传输。(可以使用curl命令执行url接口) 这个命令行工具…

CURL命令详解

curl -v http://ip:port/service/name/op?param11\&param20\&param3"\[\{\"value\":1,\"value\":1\}\]" 能正常发送,但服务器端接收不到参数,原因大概是service只接受post请求 curl -v --globoff http://ip:…

常见的curl命令大全

1.发送 HTTP 请求:使用 curl 发送 HTTP 请求,例如: curl http://example.com/2.保存下载的文件:使用 -O 或 -o 参数可以将下载的文件保存到本地,例如 curl -O http://example.com/file.zip curl -o localfile.txt http://example.com/remote.txt3.设置 HTTP 请求头:使用…

curl命令

目录 一、最常用的curl命令 1、发送GET请求 2、发送POST请求 3、发送json格式请求: 二、curl命令语法与curl命令参数详解 1、curl命令语法 2、curl命令参数详解 三、Linux curl命令退出码 四、常见用法 1、下载(option:-o或者option:-O) 2、上传文件(opti…

Linux curl命令最全详解

目录 一、最常用的curl命令 1、发送GET请求 2、发送POST请求 3、发送json格式请求: 二、curl命令语法与curl命令参数详解 1、curl命令语法 2、curl命令参数详解 三、Linux curl命令退出码 四、常见用法 1、下载(option:-o或者option:-O) 2、上传文件(opti…

QT多线程实战

文章目录 需求的提出多线程线程间通信终止多线程 本文源码: QT多线程实战 需求的提出 窗口本身就是一个死循环,在这样一个死循环中执行任何耗时的操作,都会导致程序崩溃。所以多线程对于窗口编程而言是必要的。 例如,在窗口中拖…

Qt多线程之死锁

目录 一、造成死锁的原因 现象分析 二、死锁的概念和发生条件 三、死锁的避免 四、避免死锁的示例代码 一、造成死锁的原因 一般性原则,每个临界资源都需要一个线程锁来进行保护,假设有多个线程锁该怎么设计程序呢?先来看以下的一个示例…

QT多线程网络通信

QT多线程网络通信 使用QT提供的类进行基于TCP的套接字通信需要用到两个类: 1、QTcpServer 服务器类,用于监听客户端连接以及和客户端建立连接 2、QTcpSocket 通信的套接字类,客户端、服务器端都需要使用 ​ 这两个套接字通信类都属于网络…

QT 多线程应用

QT多线程的实现有两种方法,一种是继承QThread的多线程使用方法,另外一种是使用QObject实现多线的方法。传统的方式是继承QTread,但是这种方式比较的容易出错,QT官方推荐使用的是第二种方式。这里介绍这两种方式的最简单的一种创建…

Qt 多线程(QThread)

Qt 多线程(QThread) 一.理解QThread 关于QThread,参考qt助手中的解析 Detailed Description A QThread object manages one thread of control within the program. QThreads begin executing in run(). By default, run() starts the eve…