许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  元胞数组修改添加删除连接Matlab扫盲30数据类型精讲

元胞数组修改添加删除连接Matlab扫盲30数据类型精讲

阅读数 15
点赞 0
article_banner


1.说明

元胞数组的子数组或元素也是元胞型的,其元素内容(值)是本身类型,因此,在添、删、改和连接处理时,必须明确每个元素的值的类型和大小,否则,编程报错是不可避免的了。看本文前建议先看上篇:Matlab入门扫盲29:元胞数组的创建、索引和转换方法​

2.元胞数组的修改

程序示例如下:

b={1,2,magic(3)

   'a',["a","b"],[]} %理解:元胞数组是大箱子,用大括号表示,内部的元素是盒子,盒子也是元胞型,盒子与箱子遵循Matlab预设规则,打开盒子往里面装内容,内容可以是任意大小任意格式的内容。

% b(1,1)=100 %元胞数组数据修改,小括号索引出第1行第1列元胞型,100双精度型无法赋值(小括号索引到盒子),报错

b(1,1)={100} %赋值也应包装成盒子(元胞型)再赋值

b{1,1}=100 %(大括号索引到盒子的内容)所以使用任意数值赋值即可

3.元胞数组的添加、删除

程序示例如下:

b={1,2,magic(3)

   'a',["a","b"],[]}

b(3,4)={8} %b本身是2行3列,如此扩展为3行4列,第3行第4列为{8}其余扩展元素默认空矩阵填充

% b(1,1)=[] %报错,删除1个元素无法保持矩阵矩形

b(end,:)=[] %最后一行删除

b{1,1}=[] %大括号索引到盒子里的内容,并置为空(删除),盒子仍存在

Matlab扫盲

4.元胞数组的连接(重要)

元胞数组的连接有两种方式:

(1)中括号[],遵从常用的矩阵连接的规则,连接的矩阵在类型和大小上有一定的匹配要求,若不满足,会报错:大小或者类型不一致;

(2)大括号{},连接后组成更大的元胞数组,特点是,连接的数组可以是任意类型和任意大小,缺点是,数据的运算和处理等不如矩阵数组那样灵活;

程序示例如下:

b={1,2,magic(3)

   'a',["a","b"],[]}

%中括号连接:把元胞数组内某些元素进行重排

[{1 2 3},{'a'}] %水平连接

% [{1 2 3};{'a'}] %列数不同,报错

[{1 2 3};{'a',[],[]}] %列数相同

%大括号连接:把元胞数组视为一个元素进行重组(可理解为元胞数组的嵌套,元胞数组内可容纳任意类型,包括元胞型自身)

{{1 2 3},{'a'}}  %水平连接

{{1 2 3};{'a'}} %纵向排列

{{1 2 3},{'a'},{},[],string(missing),uint16(10)} %只要占用元胞数组内的盒子,都会显示



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空