MATLAB 数据导入

MATLAB 数据导入(ImportData)

在MATLAB中导入数据意味着从外部文件加载数据。该importdata功能允许加载不同格式的各种数据文件。它具有以下五种形式

在这里插入图片描述

序号 功能说明
1
A = importdata(filename)

从filename表示的文件中将数据加载到数组A中。

2
A = importdata(‘-pastespecial’)

从系统剪贴板而不是文件加载数据。

3
A = importdata(___, delimiterIn)

将 delimiterIn 解释为 ASCII 文件、文件名或剪贴板数据中的列分隔符。可以对上述语法中的任何输入参数使用 delimiterIn。

4
A = importdata(___, delimiterIn, headerlinesIn)

从ASCII文件,文件名或剪贴板中加载数据,并从行headerlinesIn + 1开始读取数字数据。

5
[A, delimiterOut, headerlinesOut] = importdata(___)

使用前面语法中的任何输入参数,返回delimiterOut中输入ASCII文件的检测到的分隔符字符和headerlinesOut中检测到的头行数。

默认情况下,Octave不支持该importdata()功能,因此您必须搜索并安装此软件包才能使以下示例适用于Octave安装。
实例1
让我们加载并显示图像文件。创建一个脚本文件并在其中键入以下代码-

filename = ‘smile.jpg’;
A = importdata(filename);
image(A);
运行文件时,MATLAB将显示图像文件。但是,必须将其存储在当前目录中。

导入Imange文件

实例2
在此示例中,我们导入一个文本文件并指定Delimiter和Column Header。让我们创建一个以空格分隔的ASCII文件,其中包含标题为weeklydata.txt的列标题。

我们的文本文件weeklydata.txt看起来像这样-

SunDay MonDay TuesDay WednesDay ThursDay FriDay SaturDay
95.01 76.21 61.54 40.57 55.79 70.28 81.53
73.11 45.65 79.19 93.55 75.29 69.87 74.68
60.68 41.85 92.18 91.69 81.32 90.38 74.51
48.60 82.14 73.82 41.03 0.99 67.22 93.18
89.13 44.47 57.63 89.36 13.89 19.88 46.60
创建一个脚本文件并在其中键入以下代码-

filename = ‘weeklydata.txt’;
delimiterIn = ’ ';
headerlinesIn = 1;
A = importdata(filename,delimiterIn,headerlinesIn);

% View data
for k = [1:7]
disp(A.colheaders{1, k})
disp(A.data(:, k))
disp(’ ')
end
运行文件时,它显示以下结果-

SunDay
95.0100
73.1100
60.6800
48.6000
89.1300

MonDay
76.2100
45.6500
41.8500
82.1400
44.4700

TuesDay
61.5400
79.1900
92.1800
73.8200
57.6300

WednesDay
40.5700
93.5500
91.6900
41.0300
89.3600

ThursDay
55.7900
75.2900
81.3200
0.9900
13.8900

FriDay
70.2800
69.8700
90.3800
67.2200
19.8800

SaturDay
81.5300
74.6800
74.5100
93.1800
46.6000
实例3
在此示例中,让我们从剪贴板导入数据。

将以下行复制到剪贴板-

Mathematics is simple

创建一个脚本文件并输入以下代码-

A = importdata(‘-pastespecial’)
运行文件时,它显示以下结果-

A =
‘Mathematics is simple’
底层文件I / O
importdata函数是一个高级函数。MATLAB中的底层文件I/O函数允许对文件的读写数据进行最大程度的控制。但是,这些函数需要更详细的文件信息才能有效地工作。

MATLAB为字节或字符级别的读写操作提供以下函数-

函数
描述
fclose
关闭一个或所有打开的文件

feof 文件结尾测试
ferror
有关文件I/O错误的信息

fgetl 从文件中读取行,删除换行符
fgets
从文件中读取行,保留换行符

fopen 打开文件,或获取有关打开文件的信息
fprintf 将数据写入文本文件
fread 从二进制文件读取数据
frewind 将文件位置指示器移动到打开文件的开头
fscanf 从文本文件读取数据
fseek 移动到文件中的指定位置
ftell 在打开文件中的位置
fwrite 将数据写入二进制文件
导入具有底层I / O的文本数据文件
MATLAB提供以下功能用于文本数据文件的底层导入-

fscanf函数读取文本或ASCII文件中的格式化数据。

fgetl和fgets的时间,其中,一个换行字符的每一行分离功能读取的文件的一行。

fread函数读取字节或位级别的数据流。

在线示例
我们在工作目录中保存了一个文本数据文件“ myfile.txt”。该文件存储了三个月的降雨数据;2012年的六月,七月和八月。

myfile.txt数据文件包含五个地点的时间、月份和降雨量的重复测量集。头数据存储月数M;因此我们有M组度量。

该文件看起来像这样-

Rainfall Data
Months: June, July, August

M = 3
12:00:00
June-2012
17.21 28.52 39.78 16.55 23.67
19.15 0.35 17.57 NaN 12.01
17.92 28.49 17.40 17.06 11.09
9.59 9.33 NaN 0.31 0.23
10.46 13.17 NaN 14.89 19.33
20.97 19.50 17.65 14.45 14.00
18.23 10.34 17.95 16.46 19.34
09:10:02
July-2012
12.76 16.94 14.38 11.86 16.89
20.46 23.17 NaN 24.89 19.33
30.97 49.50 47.65 24.45 34.00
18.23 30.34 27.95 16.46 19.34
30.46 33.17 NaN 34.89 29.33
30.97 49.50 47.65 24.45 34.00
28.67 30.34 27.95 36.46 29.34
15:03:40
August-2012
17.09 16.55 19.59 17.25 19.22
17.54 11.45 13.48 22.55 24.01
NaN 21.19 25.85 25.05 27.21
26.79 24.98 12.23 16.99 18.67
17.54 11.45 13.48 22.55 24.01
NaN 21.19 25.85 25.05 27.21
26.79 24.98 12.23 16.99 18.67
我们将从该文件导入数据并显示此数据。采取以下步骤-

使用fopen函数打开文件并获取文件标识符。

用来描述文件中的数据格式说明符,例如’ %s’表示字符串,’ %d’表示整数,或’ %f’表示浮点数。

要跳过文件中的文字字符,请在格式说明中包括它们。要跳过数据字段,请在说明符中使用星号(‘*’)。

例如,要读取标头并返回M的单个值,我们这样写-

M = fscanf(fid, ‘%*s %*s\n%*s %*s %*s %*s\nM=%d\n\n’, 1);
默认情况下,fscanf根据我们的格式说明读取数据,直到找不到与数据匹配的内容,或者到达文件末尾为止。在这里,我们将使用for循环读取3组数据,并且每次将读取7行和5列。

我们将在工作区中创建一个名为mydata的结构,以存储从文件中读取的数据。这种结构有三个字段-time, month, and raindata数组。

创建一个脚本文件并在其中键入以下代码-

filename = ‘/data/myfile.txt’;
rows = 7;
cols = 5;

%打开文件
fid = fopen(filename);

%读取文件头,找到M(月数)
M = fscanf(fid, ‘%*s %*s\n%*s %*s %*s %*s\nM=%d\n\n’, 1);

%读取每一组测量数据
for n = 1:M
mydata(n).time = fscanf(fid, ‘%s’, 1);
mydata(n).month = fscanf(fid, ‘%s’, 1);

%fscanf按列顺序填充数组,
%把结果转置
mydata(n).raindata = …
fscanf(fid, ‘%f’, [rows, cols]);
end
for n = 1:M
disp(mydata(n).time), disp(mydata(n).month)
disp(mydata(n).raindata)
end

%关闭文件
fclose(fid);
运行文件时,它显示以下结果-

12:00:00
June-2012
17.2100 17.5700 11.0900 13.1700 14.4500
28.5200 NaN 9.5900 NaN 14.0000
39.7800 12.0100 9.3300 14.8900 18.2300
16.5500 17.9200 NaN 19.3300 10.3400
23.6700 28.4900 0.3100 20.9700 17.9500
19.1500 17.4000 0.2300 19.5000 16.4600
0.3500 17.0600 10.4600 17.6500 19.3400

09:10:02
July-2012
12.7600 NaN 34.0000 33.1700 24.4500
16.9400 24.8900 18.2300 NaN 34.0000
14.3800 19.3300 30.3400 34.8900 28.6700
11.8600 30.9700 27.9500 29.3300 30.3400
16.8900 49.5000 16.4600 30.9700 27.9500
20.4600 47.6500 19.3400 49.5000 36.4600
23.1700 24.4500 30.4600 47.6500 29.3400

15:03:40
August-2012
17.0900 13.4800 27.2100 11.4500 25.0500
16.5500 22.5500 26.7900 13.4800 27.2100
19.5900 24.0100 24.9800 22.5500 26.7900
17.2500 NaN 12.2300 24.0100 24.9800
19.2200 21.1900 16.9900 NaN 12.2300
17.5400 25.8500 18.6700 21.1900 16.9900
11.4500 25.0500 17.5400 25.8500 18.6700

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/5727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

附录3-小程序常用事件

目录 1 点击事件 tap 2 文本框输入事件 input 3 状态改变事件 change 4 下拉刷新事件 onPullDownRefresh() 5 上拉触底事件 onReachBottom() 1 点击事件 tap 2 文本框输入事件 input 可以使用 e.detail.value 打印出当前文本框的值 我现在在文本框中依次输入12345&…

区块链 | IPFS 工作原理入门

🦊原文:What is the InterPlanetary File System (IPFS), and how does it work? 🦊写在前面:本文属于搬运博客,自己留存学习。 1 去中心化互联网 尽管万维网是一个全球性的网络,但在数据存储方面&#…

帕金森患者应该怎么注意生活方式?

在面对帕金森病的挑战时,科学合理地改善日常生活方式,不仅能帮助患者更好地管理病情,还能提升生活质量。今天,让我们一起探索如何通过简单的日常调整,为患有帕金森病的朋友们带来积极的变化。 饮食调整:营养…

【Mac】Photoshop 2024 for mac最新安装教程

软件介绍 Photoshop 2024是Adobe公司推出的一款图像处理软件,它支持Windows和Mac OS系统。Adobe Photoshop是业界领先的图像编辑和处理软件之一,广泛用于设计、摄影、数字绘画等领域。 Photoshop 2024的功能包括: 1.图像编辑:提…

MinIO学习(1) - 概览,安装

简介 MinIO 是一个高性能的分布式对象存储系统。 它是软件定义的,在行业标准硬件上运行,并且 100% 开源,主要许可证是 GNU AGPL v3。 MinIO 的不同之处在于它从一开始就被设计为私有/混合云对象存储的标准。 因为 MinIO 是专门为对象而构建…

【华为】华为防火墙双机热备

【华为】华为防火墙双机热备 实验需求实验拓扑配置FW5-M前骤单臂路由和VRRP划分防火墙基本区域部署HRP(华为心跳协议) FW6-B前骤单臂路由和VRRP划分防火墙基本区域部署HRP(华为心跳协议) LSW2PC NATSNAT :Easy IPDNAT&…

Linux进程管理与监控

一、相关概念 1、进程的的基本定义 在自身的虚拟地址空间运行的一个独立的程序,从操作系统的角度来看,所有在系统上运行的东西,都可以称为一个进程。 2、进程的分类 系统进程:可以执行内存资源分配和进程切换等管理工作&am…

spring boot 自定义starter示例

springboot 约定规范 Starter项目的命名规范 建议自定义的starter 以 xxx-spring-boot-starter 命名,官方的Starter一般都是以spring-boot-starter-为前缀。这样做的目的是为了避免与官方或其他第三方提供的Starter产生冲突或混淆。 Starter项目的结构规范(重要) …

CentOS/Anolis的Linux系统如何通过VNC登录远程桌面?

综述 需要在server端启动vncserver,推荐tigervnc的server 然后再本地点来启动client进行访问,访问方式是IPport(本质是传递数据包到某个ip的某个port) 然后需要防火墙开启端口 服务器上:安装和启动服务 安装服务 y…

【1小时掌握速通深度学习面试1】卷积神经网络-上

目录 1.简述卷积的基本操作,并分析其与全连接层的区别 2.在卷积神经网络中,如何计算各层的感受野大小?卷积层的输出尺寸、参数量和计算量。 3.简述分组卷积及其应用场景 4.简述空洞卷积的设计思路 5.简述转置卷积的主要思想以及应用场景 1.简述卷积…

Mac数据恢复软件快速比较:适用于Macbook的10佳恢复软件

数据丢失导致无数个人和组织每天损失大量资金。更糟糕的是,某些文件具有货币价值和情感意义,使它们不可替代,并使数据恢复成为唯一可行的选择。最好的消息是Mac用户可以从各种数据恢复程序中进行选择。为了帮助您尽可能快速、轻松地恢复丢失的…

54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接

54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接 import socket from ohos.net.socket; import process from ohos.process; import wifiManager from ohos.wifiManager;import common from ohos.app.ability.common;let tcp socket.constructTCPSocketInstance();…

搜索引擎的设计与实现参考论文(论文 + 源码)

【免费】搜索引擎的设计与实现.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89249705?spm1001.2014.3001.5501 搜索引擎的设计与实现 摘要: 我们处在一个大数据的时代,伴随着网络信息资源的庞大,人们越来越多地注重怎样才能…

SpringCloud——consul

SpringCloud——consul 一、consul安装与运行二、consul 实现服务注册与发现1.引入2.服务注册3.服务发现 三、consul 分布式配置1.基础配置2.动态刷新3.配置持久化 四、参考 Eureka已经停止更新了,consul是独立且和微服务功能解耦的注册中心,而不是单独作…

实时监控RTSP视频流并通过YOLOv5-seg进行智能分析处理

在完成RTSP推流之后,尝试通过开发板接收的视频流数据进行目标检测,编写了一个shell脚本实现该功能,关于视频推流和rknn模型的部署请看之前的内容或者参考官方的文档。 #!/bin/bash # 设置脚本使用的shell解释器为bashSEGMENT_DIR"./seg…

【PCL】教程 example2 3D点云之间的精确配准(FPFH特征对应关系估计变换矩阵)

这段代码主要实现了点云之间的配准功能,旨在通过估计点云的特征并找到最佳的对应关系来计算一个变换矩阵,从而可以将源点云(src)变换到目标点云(tgt)的坐标系统中。 代码功能和方法总结如下: 估…

SEO之高级搜索指令(一)

初创企业需要建站的朋友看这篇文章,谢谢支持: 我给不会敲代码又想搭建网站的人建议 新手上云 用户除了可以在搜索引擎搜索普通关键词外,还可以使用一些特殊的高级搜索指令, 这些搜索指令普通用户很少会用到,对SEO人员…

贝叶斯回归

1. 贝叶斯推断的定义 简单来说,贝叶斯推断 (Bayesian inference) 就是结合“经验 (先验)”和“实践 (样本)”,得出“结论 (后 验)”。 2. 什么是先验? 贝叶斯推断把模型参数看作随机变量。在得到样本之前,根据主观经验和既有知…

翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习四

合集 ChatGPT 通过图形化的方式来理解 Transformer 架构 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深…

如何讲好ppt演讲技巧(4篇)

如何讲好ppt演讲技巧(4篇) 如何讲好PPT演讲技巧(四篇) **篇:精心准备,奠定演讲基础 一个成功的PPT演讲,离不开精心的准备。首先,要确定演讲的主题和目标,确保演讲内容清…