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

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

3天内不再提示

关于MATLAB table数据结构的分析介绍

MATLAB 来源:djl 作者:oopmatlab 2019-09-18 10:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

MATLAB常用基本数据类型有:整型,浮点型,字符型,函数句柄,元胞数组和结构体数组。除了这些基本数据类型,MATLAB还有很多其它的数据类型不为人熟悉,这些数据类型在编程中也非常有用。MATLAB高级数据类型系列旨在向大家介绍它们:比如containers.Map,tables,enumeration和time series等等,它们为什么有用,用来解决什么问题,并且怎样在科学工程计算中怎么使用。上篇我们提到了映射表结构(containers.Map)。本篇将介绍另一中新的MATLAB数据类型--table。

table简介

为什么需要table数据结构

MathWorks在MATLAB R2013b中引入了一种新的数据结构叫做table。table类似统计工具箱中的dataset,其引入的目的就是用来取代dataset的数据类型。因为表状的数据在工程计算中越来越长久,有了table类型,MATLAB用户就可以不用购买统计工具箱,也能使用表状的数据结构了。table本质上来说是一种可以存放各种数据类型的容器,比如下面表Table.1中的数据,其中既有字符型,又有数值类型,其中第一行作为表头:Symbol,Name,Market,Cap,IPO, Year 是各列的名字。

关于MATLAB table数据结构的分析介绍


Table.1 NASDAQ股票名称表

在conatiners.Map的章节中,我们介绍了MATLAB的基本数据类型(比如数组,原胞数组和结构体)在表达某些复杂数据类型时的局限性。这里不再一一赘述,读者只需要认识到:数组的局限性在于不能用来存放数值以外的数据,而使用元胞读取和索引内容时有种种不方便,比如无法区分该数据中的表头和其余的行数据。事实上,如果数据存放在如下的CSV文件中,并且用importdata直接读取CSV文件。

关于MATLAB table数据结构的分析介绍


显然这不是我们所期待的要导入格式。

通过导入数据构造table对象

沿用上一步的CVS文件,我们可以使用readtable函数,构造一个新的table对象,把csv文件中的数据导入到该对象中。readtable函数接受文件名称作为输入,返回一个table对象。

关于MATLAB table数据结构的分析介绍


注意第2行的warning,因为readtable函数把nasdaq.csv中的第一行自动变成了这个table的表头,在创建table对象的时候,MATLAB会对做表头的文字做处理,这里把Market Cap和IPO Year两个词中的空格去掉,缩成一个词,这样做是为了方便将来使用dot语法来访问表中的数据。因为MATLAB修改了原来的表头,所以这里给出了warning。

调用table构造函数来构造table对象

通过转换函数构造table对象

访问table中的数据

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

    关注

    0

    文章

    237

    浏览量

    14108
  • 结构体
    +关注

    关注

    1

    文章

    131

    浏览量

    11300
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    typedef结构体使用

    虽然结构体的出现能够让我们有一个更科学的数据结构来管理数据,但是每次使用结构体都需要struct...,未免显得有些冗长和麻烦。有了typedef的助攻,我们就可以很轻松地给
    发表于 12-08 07:04

    关于NFC镍锌铁氧体片的介绍

    关于NFC镍锌铁氧体片的介绍
    的头像 发表于 12-04 10:52 59次阅读
    <b class='flag-5'>关于</b>NFC镍锌铁氧体片的<b class='flag-5'>介绍</b>

    飞凌嵌入式ElfBoard-文件I/O的了解探究之Linux系统的文件管理机制

    table),文件表也是一个数据结构体,其中记录了很多文件相关的信息,比如文件状态标志、引用计数、当前文件的读写偏移量以及 inode指针(指向该文件对应的inode)等,进程打开的所有文件对应的文件描述符
    发表于 11-18 08:50

    关于系统链接脚本的介绍

    起来后所处于的地址,程序中的相对寻址都会遵从此虚拟地址。 四、关于ITCM和DTCM(若使用FLASH下载模式) (1) 代码段上载到ITCM,ITCM起始地址(0x80000000)存储的代码就是主函数的入口。 (2)数据段上载到DTCM,DTCM起始地址(0x
    发表于 10-30 08:26

    【HZ-T536开发板免费体验】6、使用protoc-gen-gorm生成标准化的数据结构

    在设计espnow协议的时候,考虑到我需要在esp32,Linux设备,web上使用相同的数据结构,那就需要考虑一下,是否使用一个通用的跨平台序列化数据结构。这时候我想起了protobuf,这个就是
    发表于 08-26 00:32

    推进电机端盖结构的抗冲击分析及优化

    摘要:高转矩密度、强抗冲击性和低噪声已经成为舰船用推进电机三大特征,以某推进电机的端盖结构分析研究对象,以有限元数值仿真分析为手段,分析了该结构
    发表于 06-23 07:12

    普源示波器如何连接MATLAB实现数据采集与分析

    普源示波器(Rigol)作为国内知名的测试测量仪器品牌,广泛应用于电子工程、科研实验、教学等领域。为了进一步扩展其功能,用户常需将示波器与MATLAB数据分析平台连接,实现自动化测试、实时信号处理
    的头像 发表于 05-29 09:34 704次阅读

    VirtualLab应用:亚波长结构偏振光栅的深入分析

    性和热稳定性是至关重要的,该方法比传统的基于双折射晶体或多层系统的方法具有明显的优势。 在本周的时事通讯中,我们对快速物理光学建模和设计软件虚拟实验室融合中的这种结构进行了详细的分析,使用了文献[J.
    发表于 05-26 08:45

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员开发
    发表于 05-13 16:45

    结构可视化:利用数据编辑器剖析数据内在架构​

    结构可视化聚焦于展示数据的内部结构和各部分之间的关系,使企业能够深入理解数据的组织方式和层次体系,从而更好地进行数据管理和
    的头像 发表于 05-07 18:42 412次阅读

    如何用FOC电机控制MATLAB仿真!

    [导读]本文将介绍如何用FOC电机控制MATLAB仿真,首先从整体结构及功能介绍,用MATLAB2013以上版本打开文件,看到如图1所示界面
    发表于 03-28 14:51

    如何使用MATLAB实现一维时间卷积网络

    本文对一维卷积操作进行介绍,包括一维扩展卷积和一维因果卷积,以及 MATLAB 对一维卷积的支持情况。在最后通过一个实例演示如何在 MATLAB 中将一维卷积和 LSTM 结合构建分类网络,实现基于传感器
    的头像 发表于 03-07 09:15 1674次阅读
    如何使用<b class='flag-5'>MATLAB</b>实现一维时间卷积网络

    镁合金微观结构分析:EBSD制样技术的应用与经验探讨

    电子背散射衍射(EBSD)技术在材料科学领域,电子背散射衍射(EBSD)技术以其卓越的晶体微区取向和结构分析能力,已经成为全球研究者不可或缺的工具。它不仅能够提供关于材料微观组织结构
    的头像 发表于 12-19 12:35 1085次阅读
    镁合金微观<b class='flag-5'>结构</b><b class='flag-5'>分析</b>:EBSD制样技术的应用与经验探讨

    用FPGA采集的原始数据导入waveVision和matlab分析,发现2、3次谐波幅度很大,是什么原因导致的?

    导入waveVision和matlab分析,发现2、3次谐波幅度很大,之比有用信号低十几dB,造成SFDR很差。随着输入频率变化,输出固定位输入信号的2、3次谐波, 已排除电源、时钟、输入信号原因。请教TI员工,有无解决问题的建议。
    发表于 12-16 06:45

    Simulink与 MATLAB 的结合使用 Simulink中的信号处理方法

    在工程和科学研究中,信号处理是一个重要的领域,涉及到信号的采集、分析、处理和生成。MATLAB 提供了丰富的信号处理工具箱,而 Simulink 提供了一个直观的图形界面,使得复杂的信号处理系统可以
    的头像 发表于 12-12 09:25 2196次阅读