Day16_0.1基础学习MATLAB学习小技巧总结(16)——元胞数组

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。

素材来源“数学建模清风”

特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以移步去链接中的视频,观看学习。也欢迎各位在留言区补充,纠错,讨论。

原素材和学习视频地址:MATLAB教程新手入门篇(上部分)(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili​编辑https://www.bilibili.com/video/BV1dN4y1Q7Kt/?spm_id_from=333.337.search-card.all.click&vd_source=c06380c48bd362b3f90af762beebf543

元胞数组

1 概念

元胞数组(cell)作为一个独立的存储单元,可以将不同数据类型的数据存储在同一个矩阵中。它是一种包含名为元胞的索引数据容器的数据类型,其中的每个元胞都可以包含任意类型的数据。元胞数组通常包含文本列表、文本和数字的组合或者不同大小的数值数组。

2 数据类型

下面介绍的元胞数组涉及到许多不同的数据类型,所以在这里先简单的介绍以下各种数学类型。

数值类型(double):用来保存数值数据,包括整型和浮点型,其中整型和浮点型还可以进步细分。我们创建的数值矩阵都是默认的双精度浮点型。

文本类型:用来保存文本数据,可细分为字符类型(char)和字符串类型(string)。

逻辑类型(logical):包含布尔型变量true和false,分别表示逻辑值1和逻辑值0。

元胞数组类型(cell):包含名为元胞的索引数据容器的数据类型,其中的每个元胞都可以包含任意类型的数据。。

结构体数组类型(struct):带有可以包含各种类型和大小的数据的命名字段的数组.

分类数组类型(categorical):用于保存分类型变量的数据,例如性别、等级等.

日期时间类型(datetime):用于保存日期、时间的数据.

表格类型(table):保存表格形式的数据.

函数句柄(function handle):可用于引用和间接调用函数.

3 创建元胞数组

创建元胞数组需要在英文模式下使用大括号 {} 。在元胞数组中,同行元素之间可以用逗号或者空格分隔,而行与行之间则通过分号或者回车键分隔。

A = {1:3, 'afabvab';
    char('afg','bva','adf') 0989;
    [12 34 32;2 2 43] [2;4]}

从上面可以看出元胞数组中保存的数据非常灵活,数据大小和数据类型都没有限制。

并且在新版本的MATLAB中,会将元胞数组的保存在一个表格中,且每一个元素的类型都是灵活和,可以为任意数值类型。

既然有如此多的数据类型,为什么MATLAB还要采用元胞数组的类型去表达这些数值呢?

这种设计基于元胞数组的特性,允许在同一数组中存储不同类型和大小的数据。例如,初始的元胞可能包含一个数值向量[123],后续可以轻松更换为其他向量、矩阵或不同类型的数据。

MATLAB中的元胞数组将每个元素视为独立的元胞,使得修改时不会影响整体结构。这种设计显著增强了元胞数组的灵活性,成为处理不规则数据的理想选择。

4 引用元胞数组

引用元胞数组有两种方式:使用小括号()和使用大括号{}。这两种引用方式有着不同的用途和效果。

下面用一个4x2的元胞数组来作为例子举例:
 

A = {1:3, 'afabvab';
    true,7898;
    [12 34 32;2 2 43],[2;4];
    char('ad','vbh','bj'),5+8i}

(1)当使用小括号()引用时

 当使用小括号()来引用元胞数组时,我们实际上是在引用元胞数组中的元胞,因此小括号引用时返回的是一个元胞数组,而不是元胞中存储的数据。

A = {1:3, 'afabvab';
    true,7898;
    [12 34 32;2 2 43],[2;4];
    char('ad','vbh','bj'),5+8i}
%第一行第二列位置的元素
A1 = A(1,2)
%第四行第一列位置的元素
A2 = A(4,1)
%使用class查看A1的数据类型
class(A1)
%查看A1的大小
size(A1)
%奇数行元素
A(1:2:end)
%线性索引为5的元素
A(5)
%按照线性索引的顺序重新排列元胞数组
A(:)

(1)当使用大括号 { } 引用时 

使用大括号{}引用元胞数组时,我们可以直接得到对应位置的元胞数组中的数据。

A = {1:3, 'afabvab';
    true,7898;
    [12 34 32;2 2 43],[2;4];
    char('ad','vbh','bj'),5+8i}
%第一行第二列位置的元素
A1 = A{1,2}
%第四行第一列位置的元素
A2 = A{4,1}
%使用class查看A1的数据类型
class(A1)
%查看A1的大小
size(A1)
%第一行元胞中的数据
A{1,:}
% 使用两个变量保存第一行元胞中的数据
[B,C] = A{1,:}
%返回变量数量小于引用的元胞数量
[x, y] = A{1:2,:}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux top命令介绍以及使用

文章目录 介绍 top 命令1. top 的基本功能2. 如何启动 top3. top 的输出解释系统概况任务和 CPU 使用情况内存和交换空间进程信息 4. 常用操作 总结查看逻辑CPU的个数查看系统运行时间 介绍 top 命令 top 是一个在类 Unix 系统中广泛使用的命令行工具,用于实时显示…

pikachu文件包含漏洞靶场攻略

1.File inclusion(local)(本地文件包含) 提交一个球员信息 filename后面输入../../../../../1.php访问php文件 2.File Inclusion(remote)(远程文件包含) 修改配置 远程包含漏洞的前提:需要php.ini配置如下&#…

深入理解 Babel - 微内核架构与 ECMAScript 标准化|得物技术

随着浏览器版本的持续更新,浏览器对JavaScript的支持越来越强大,Babel的重要性显得较低了。但Babel的设计思路、背后依赖的ECMAScript标准化思想仍然值得借鉴。 本文涉及的Babel版本主要是V7.16及以下,截至发文时,Babel最新发布的…

利用SSH加密实现的HTTP隧道分析与检测

1.隧道介绍 Chisel是一个快速稳定的TCP/UDP隧道工具,该工具基于HTTP实现,并通过SSH加密保证通信安全。Chisel可以进行端口转发、反向端口转发以及SOCKS流量代理,使用GO语言编写,具备较好的跨平台特性。该工具的主要用于绕过防火墙…

Hive数据库与表操作全指南

目录 Hive数据库操作详解 创建数据库 1)语法 2)案例 查询数据库 1)展示所有数据库 (1)语法 (2)案例 2)查看数据库信息 (1)语法 (2&#…

Spring之整合Mybatis底层源码解析

整合核心思路 由很多框架都需要和Spring进行整合,而整合的核心思想就是把其他框架所产生的对象放到Spring容器中,让其成为Bean。 ​ 比如Mybatis,Mybatis框架可以单独使用,而单独使用Mybatis框架就需要用到Mybatis所提供的一些类…

学习笔记八:基于Jenkins+k8s+Git+DockerHub等技术链构建企业级DevOps容器云平台

基于Jenkinsk8sGitDockerHub等技术链构建企业级DevOps容器云平台 测试jenkins的CI/CD在Jenkins中安装kubernetes插件安装blueocean插件配置jenkins连接到我们存在的k8s集群配置pod-template添加自己的dockerhub凭据测试通过Jenkins部署应用发布到k8s开发环境、测试环境、生产环…

手机玩机常识-----小米系列机型 Android 15 更新计划 那些机型将会更新安卓15

小米机型是很多米粉最喜欢把玩的,其中解锁bl root 刷写twrp以及刷第三方系统资源相对其他品牌机型来说比较丰富。目前安卓15快要更新到很多机型。我们来了解下小米系列机型的更新计划是咋样的 小米会定期更新有关 Redmi红米 设备的支持日期的数据,包括可…

嵌入式学习(内核链表)

内核链表和普通链表的区别: 1. 普通链表当中数据域和指针域,没有做到区分,数据与指针形成了一个整体,而内核链表数据与指针是完全剥离的没有直接的关系。 2. 在普通链表当中所有节点的数据都是一样的类型,而内核链表中…

HarmonyOS开发实战( Beta5.0)Native Drawing自绘制能力替代Canvas提升性能

简介 Canvas 画布组件是用来显示自绘内容的组件,它具有保留历史绘制内容、增量绘制的特点。Canvas 有 CanvasRenderingContext2D/OffscreenCanvasRenderingContext2D 和 DrawingRenderingContext 两套API,应用使用两套API绘制的内容都可以在绑定的 Canv…

【WPS Excel】复制表格时,提示“图片太大,超过部份将被截去“ 问题

WPS表格 2019版本 升级到 WPS最新版 WPS-支持多人在线协作编辑Word、Excel和PPT文档_WPS官方网站 使用最新版就能够解决这个问题,如果仍旧无法解决可以勾选如下配置 重启Excel解决。 请勾选:文件 - 选项 - 编辑 - 不提示且不压缩文件中的图像

html 页面引入 vue 组件之 http-vue-loader.js

一、http-vue-loader.js http-vue-loader.js 是一个 Vue 单文件组件加载器,可以让我们在传统的 HTML 页面中使用 Vue 单文件组件,而不必依赖 Node.js 等其他构建工具。它内置了 Vue.js 和样式加载器,并能自动解析 Vue 单文件组件中的所有内容…

电脑知识:如何恢复 Word、媒体和存档文件?

如果您是 Word 用户,那么您一定对无法打开 Word 文档的问题很熟悉。当文档包含大量关键信息时,情况会变得更加复杂。如果您遇到这种情况,那么您将如何处理? 我们再怎么强调在外部存储位置(如外部硬盘、网络位置&#…

jenkins 工具使用

使用方式 替代手动,自动化拉取、集成、构建、测试;是CI/CD持续集成、持续部署主流开发模式中重要的环节;必须组件 jenkins-gitlab,代码公共仓库服务器(至少6G内存);jenkins-server,…

flutter Image

Flutter中,Image是一个用于显示图片的控件,可以显示网络图片、本地图片以及Asset中的图片。Image控件支持多种常见的图片格式,例如PNG、JPEG、GIF等。 const Image({super.key,required this.image,this.frameBuilder,this.loadingBuilder,th…

社区电商系统源码之卷轴模式:商业模式分析

随着互联网技术的发展,电商平台的竞争日益激烈,如何留住用户并提升用户粘性成为了各大电商平台关注的重点。卷轴模式作为一种新兴的用户参与和激励机制,在社区电商系统中得到了广泛的应用。本文将从技术角度探讨卷轴模式在社区电商系统中的实…

数据分析:R语言计算XGBoost线性回归模型的SHAP值

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍SHAP用途计算方法:应用加载R包导入数据数据预处理函数模型介绍 SHAP(SHapley Additive exPlanations)值是一种解释机器学习模型预测的方法。它基于博弈论中的Shapley值概念,…

第10讲 后端2

主要目标:理解滑动窗口法、位姿图优化、带IMU紧耦合的优化、掌握g2o位姿图。 第9讲介绍了以为BA为主的图优化。BA能精确优化每个相机位姿与特征点位置。不过在更大的场景中,大量特征点的存在会严重降低计算效率,导致计算量越来越大&#xff0…

3.8 串操作指令

🎓 微机原理考点专栏(通篇免费) 欢迎来到我的微机原理专栏!我将帮助你在最短时间内掌握微机原理的核心内容,为你的考研或期末考试保驾护航。 为什么选择我的视频? 全程考点讲解:每一节视频都…

2024 高教社杯 数学建模国赛 (C题)深度剖析|农作物的种植策略|数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题! CS团队倾注了大量时间和心血,深入挖掘解…