当前位置: 首页 > news >正文

Matlab中importdata函数的使用

目录 

语法

说明

示例

导入并显示图像

导入文本文件并指定分隔符和列标题

导入文本文件并返回检测到的分隔符

从剪贴板导入数据


        importdata函数的功能是从文件加载数据

语法

A = importdata(filename)
A = importdata('-pastespecial')
A = importdata(___,delimiterIn)
A = importdata(___,delimiterIn,headerlinesIn)
​[A,delimiterOut,headerlinesOut] = importdata(___)

说明

A = importdata(filename) 将数据加载到数组 A 中。

A = importdata('-pastespecial') 从系统剪贴板而不是文件加载数据。

​A = importdata(___,delimiterIn) 将 delimiterIn 解释为 ASCII 文件 filename 或剪贴板数据中的列分隔符。可以将 delimiterIn 与以上语法中的任何输入参数结合使用。

​A = importdata(___,delimiterIn,headerlinesIn) 从 ASCII 文件 filename 或剪贴板加载数据,并读取从第 headerlinesIn+1 行开始的数值数据。

​​​​​​​[A,delimiterOut,headerlinesOut] = importdata(___) 使用先前语法中的任何输入参数,在 delimiterOut 中额外返回检测到的输入 ASCII 文件中的分隔符,以及在 headerlinesOut 中返回检测到的标题行数。 ​​​

示例

导入并显示图像

        导出并显示示例图像 ngc6543a.jpg。

A = importdata('ngc6543a.jpg');
image(A)

        输出 A 为 uint8 类,因为辅助函数 imread 对 colormap 和 alpha 返回空结果。

导入文本文件并指定分隔符和列标题

        使用文本编辑器创建一个带有列标题的称为 myfile01.txt 的空格分隔 ASCII 文件。

Day1  Day2  Day3  Day4  Day5  Day6  Day7
95.01 76.21 61.54 40.57  5.79 20.28  1.53
23.11 45.65 79.19 93.55 35.29 19.87 74.68
60.68  1.85 92.18 91.69 81.32 60.38 44.51
48.60 82.14 73.82 41.03  0.99 27.22 93.18
89.13 44.47 17.63 89.36 13.89 19.88 46.60

        导入该文件并指定空格分隔符和单个列标题。

filename = 'myfile01.txt';
delimiterIn = ' ';
headerlinesIn = 1;
A = importdata(filename,delimiterIn,headerlinesIn);

        查看第 3 列和第 5 列。

for k = [3, 5]
   disp(A.colheaders{1, k})
   disp(A.data(:, k))
   disp(' ')
end
Day3
   61.5400
   79.1900
   92.1800
   73.8200
   17.6300

 
Day5
    5.7900
   35.2900
   81.3200
    0.9900
   13.8900

导入文本文件并返回检测到的分隔符

        使用文本编辑器创建一个称为 myfile02.txt 的逗号分隔 ASCII 文件。

1,2,3
4,5,6
7,8,9

        导入该文件并显示输出数据和检测到的分隔符。

filename = 'myfile02.txt';
[A,delimiterOut]=importdata(filename)
A =

     1     2     3
     4     5     6
     7     8     9


delimiterOut =

,

从剪贴板导入数据

        将以下行复制到剪贴板。选择相应文本,右键点击,然后选择复制

1,2,3
4,5,6
7,8,9

        键入以下内容将剪贴板数据导入到 MATLAB® 中。

A = importdata('-pastespecial')
A =

     1     2     3
     4     5     6
     7     8     9

        要导入的文件的名称和扩展名,指定为字符向量或字符串标量。如果 importdata 可识别文件扩展名,则会调用用于导入关联的文件格式的 MATLAB 辅助函数(如用于 MAT 文件的 load 或用于电子表格的 xlsread)。否则,importdata 会将文件解释为分隔的 ASCII 文件。

        对于 ASCII 文件和电子表格,importdata 预计会查找矩形格式(即像矩阵一样)的数值数据。文本标题可显示在数值数据的上方或左侧,如下所示:

  • 文件顶部的列标题或文件说明文本,位于数值数据上方。

  • 数值数据左侧的行标题。

        文件中的数据,以矩阵、多维数组或标量结构体数组形式返回,具体取决于文件的特征。根据输入文件的文件格式,importdata 会调用辅助函数来读取数据。当辅助函数返回多个非空输出时,importdata 会将这些输出组合成一个 struct 数组。

        下表列出了与可返回多个输出的辅助函数关联的文件格式,以及结构体数组 A 中的可能字段。

文件格式可能的字段

MAT 文件

每个字段对应一个变量

与每个变量关联。

ASCII 文件和电子表格

data
textdata
colheaders
rowheaders

对于 ASCII 文件,data 包含一个 double 数组。其他字段包含字符向量 cell 数组。textdata 包含行标题和列标题。
对于电子表格,每个字段包含一个 struct,并且每个字段对应一个工作表。

图像

cdata
colormap
alpha

可参考 imread函数。

音频文件

data
fs

可参考audioread函数。

        用于支持的大多数其他文件格式的 MATLAB 辅助函数返回一个输出。有关每个输出的类的详细信息,可以参考支持的导入和导出文件格式中列出的函数。

        如果 ASCII 文件或电子表格包含列标题或行标题(但不同时包含这两种标题),importdata 会在输出结构体中返回 colheaders 或 rowheaders,其中:

  • colheaders 仅包含最后一行列标题文本。importdata 将所有文本都存储在 textdata 字段中。

  • 仅当该文件或工作表包含单列行标题时,才会创建 rowheaders。

在输入 ASCII 文件中检测到的文本标题行数,以整数形式返回。

提示

  • 要导入非数值字符(包括字符数据列或者格式化的日期或时间)位于列标题或行标题之外的 ASCII 文件,可以使用textscan 而不是 importdata。

相关文章:

  • 4)自适应滤波(一)
  • Web前端期末大作业-重庆旅游景区网页设计(HTML+CSS+JS)
  • MySQL:复合查询和内外连接
  • 高亮蓝紫光油溶性ZnSe/ZnS量子点,PL波长390nm-440nm
  • SpringMVC概述及入门案例
  • 这篇文章告诉你三个好用的配音软件
  • 看漫画学Python 原来真的有用
  • Spring Cloud Gateway获取认证用户信息
  • 软件项目的自动化测试
  • 华为云的云计算比阿里云的云计算认证好吗?
  • Linux教程:RocketMq介绍以及集群服务搭建(双主双从同步双写)
  • RK3399平台开发系列讲解(设备树篇)设备树资源的处理
  • 项目实战第二十二讲:使用职责链模式实现商品审核
  • 笔试强训(十三)
  • node.js基于微信小程序的外卖订餐系统 uniapp 小程序
  • 10个确保微服务与容器安全的最佳实践
  • HTTP中GET与POST的区别 99%的错误认识
  • Netty 4.1 源代码学习:线程模型
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • spring cloud gateway 源码解析(4)跨域问题处理
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 回顾 Swift 多平台移植进度 #2
  • 紧急通知:《观止-微软》请在经管柜购买!
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 移动端高清、多屏适配方案
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • # Apache SeaTunnel 究竟是什么?
  • # 飞书APP集成平台-数字化落地
  • #HarmonyOS:Web组件的使用
  • (LeetCode) T14. Longest Common Prefix
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (剑指Offer)面试题34:丑数
  • (转)3D模板阴影原理
  • (转)Mysql的优化设置
  • (转)mysql使用Navicat 导出和导入数据库
  • (转载)深入super,看Python如何解决钻石继承难题
  • .bat文件调用java类的main方法
  • .net mvc部分视图
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .Net小白的大学四年,内含面经
  • @NestedConfigurationProperty 注解用法
  • [1181]linux两台服务器之间传输文件和文件夹
  • [20150629]简单的加密连接.txt
  • [acm算法学习] 后缀数组SA
  • [codevs 1515]跳 【解题报告】
  • [COGS 622] [NOIP2011] 玛雅游戏 模拟
  • [CTF]php is_numeric绕过
  • [FUNC]判断窗口在哪一个屏幕上