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

您所在的位置:网站首页 matlab怎么给元胞数组赋值 Matlab自学笔记三十:元胞数组的修改、添加、删除和连接

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

2024-07-16 15:44| 来源: 网络整理| 查看: 265

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3