Matlab自学笔记三十:元胞数组的修改、添加、删除和连接

1.说明

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

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}=[]  %大括号索引到盒子里的内容,并置为空(删除),盒子仍存在

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)}  %只要占用元胞数组内的盒子,都会显示

相关内容推荐

31.6 Matlab绘制条形图柱状图,改变单个柱的颜色,堆叠显示,改变线型线宽

66.53 MatlabApp课设作业:简易一元高次方程解算显示器

22.13 Matlab非线性函数拟合问题lsqcurvefit使用最小二乘法求解非线性函数拟合问题曲线拟合/数据拟合/任意形式函数的拟合

21.1 一节讲透:插值入门,以及Matlab编程实现

38.1 从图像曲线上提取坐标数据:测量长度,测量角度、圆心和半径

66.20 文献上的图片是怎么用Matlab做出来的/数学建模必备技能

1.1 Matlab速成宝藏课/数学建模必备入门视频

45.1 一个实例入门Matlab深度学习|卷积神经网络

47.1/Matlab遗传算法/概念/原理/编程演示数学建模

End

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

freexyn

码字不易,谢谢鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值