Matlab基础学习----------------元胞数组
来源:互联网 发布:光翼学园网络班有用吗 编辑:程序博客网 时间:2024/05/22 03:27
与架构数组类似,元胞数组也可以存放不同类型不同大小的数据,每个元素称为一个元胞(cell)。
(1)元胞数组的创建
三种方法:直接赋值法,利用函数cell()和利用{}直接创建元胞数组的所有单元。
实例:
%1、直接赋值法%通过赋值语句将值赋到单元数组的一个单元中,每次只能创建一个单元内容;%有两种赋值方法:内容索引法和单元索引法%(1)内容索引法:赋值语句左边用大括号将单元的下表括起来,右边为单元内容%实例:创建一个2*2的元胞数组c{1,1}='this is a cell array';%字符串c{1,2}=[1,2,3,4,5;6,7,8,9,0];%矩阵c{2,1}=[];c{2,2}=4+3*i;%复数class(c) %判断的数据类型%运行结果:% ans =% cell% % c% c = % % 'this is a cell array' [2x5 double]% [] [4.0000 + 3.0000i]%(2)单元索引法:赋值语句左边用()将单元的下表括起来,右边为单元内容,用{}%实例:创建一个2*2的元胞数组c(1,1)={'this is a cell array'};%字符串c(1,2)={[1,2,3,4,5;6,7,8,9,0]};%矩阵c(2,1)={[]};c(2,2)={4+3*i};%复数%运行结果相同%2、cell()函数创建法%cell()函数可以创建元胞数组,而且还可以指定大小%语法:cell_array=cell(m,n) 创建m*n的元胞数组,定义之后可以用赋值法对其进行赋值%3、用{}直接创建元胞数组%在大括号中依次列出所需创建元胞数组的内容,之间用逗号隔开,行与行之间用分号隔开%实例:创建一个2*3的元胞数组cell={['this','is','s','cellarray'] , [1,2] , [] ; 2+3*i , 4 , eye(4)}class(cell)%运行结果:% cell = % 'thisisscellarray' [1x2 double] []% [2.0000 + 3.0000i] [ 4] [4x4 double]% % ans =% cell(2)元胞数组的访问
%元胞数组的访问%方式有两种:%(1)用()将下标括起来访问其单元的结构类型%(2)用{}将下标括起来访问其单元的具体内容%在cell元胞数组的基础上编写实例:cella=cell(1,1)A=cell{1,1}b=cell(1,2)B=cell{1,2}%运行结果% cell = % 'thisisscellarray' [1x2 double] []% [2.0000 + 3.0000i] [ 4] [4x4 double]% a = % 'thisisscellarray'% A =% thisisscellarray% b = % [1x2 double]% B =% 1 2%利用celldisp()函数对元胞数组的所有单元内容进行访问celldisp(cell)%结果:% cell{1,1} =% thisisscellarray% cell{2,1} =% % 2.0000 + 3.0000i% cell{1,2} =% 1 2% cell{2,2} =% 4% cell{1,3} =% [] % cell{2,3} =% 1 0 0 0% 0 1 0 0% 0 0 1 0% 0 0 0 1(3)元胞数组的基本操作
包含元胞数组的访问、元胞数组的扩展、缩小、嵌套等操作
%1、元胞数组的扩展%利用赋值法进行扩展实例cellcell{3,2}=['这是扩展内容'] %自动扩展为3*3阵列,未赋值的部分为[]% %运行结果:% cell = % 'thisisscellarray' [1x2 double] []% [2.0000 + 3.0000i] [ 4] [4x4 double]% cell = % 'thisisscellarray' [1x2 double] []% [2.0000 + 3.0000i] [ 4] [4x4 double]% [] '这是扩展内容' []%2、元胞数组的缩小%通过对要删除的单元赋空值的方式来删除数组的行或者列%语法:%(1)删除行:cellname(行号,:)=[]%(1)删除列:cellname(:,列号)=[]%实例cell(2,:)=[] %删除第二行cell(:,1)=[] %再删除第一列%结果:% cell = % 'thisisscellarray' [1x2 double] []% [] '这是扩展内容' []% cell = % [1x2 double] []% '这是扩展内容' []%3、元胞数组的嵌套%元胞数组的元胞中包含其他的元胞数,称为嵌套元胞数组,没有嵌套结构的元胞则称为页元胞。%使用嵌套的大括号或cell函数,或直接用赋值表达式,都可以创建嵌套单元数组,%另外还可以访问嵌套元胞数组的子数组、元胞或元胞的元素。%实例a=cell(2,2);a{1,1}=12;a{1,2}{1,1}=[1,2];%元胞数组嵌套a{2,1}='元胞数组嵌套';a{2,2}=[1,2,3;4,5,6]cellplot(a) %画出单元阵列的结构图%结果:% a = % [ 12] {1x1 cell }% '元胞数组嵌套' [2x3 double]
(4)元胞数组的操作函数
celldisp()显示单元阵列的内容
cellplot()画出单元阵列的结构图
%reshape()改变元胞数组的形状reshape(a,1,4) %在上面例子的基础上将元胞数组a由2*2改为1*4%结果:% ans = % [12] '元胞数组嵌套' {1x1 cell} [2x3 double]%cell2struct()将元胞数组转化为架构数组%num2cell()将数字矩阵转化为元胞数组num=[1,2,3;4,5,6];cell_num=num2cell(num) %数字矩阵转化为元胞数组class(cell_num)%判断类型iscell(cell_num)%判断是否是元胞数组%运行结果:% cell_num = % % [1] [2] [3]% [4] [5] [6]% ans =% cell% ans = 1%cellstr()将二维字符数组转化成字符串单元阵列S = ['abc '; 'defg'; 'hi '];c = cellstr(S)%结果% c = % 'abc'% 'defg'% 'hi'% % class(c)% ans =% cell%char()将字符串单元阵列转化为相应的字符数组
1 0
- Matlab基础学习----------------元胞数组
- MATLAB元胞数组
- Matlab元胞数组
- MATLAB元胞数组
- MATLAB 元胞数组
- MATLAB学习(三)字符串、元胞&构架数组
- matlab元胞数组显示
- matlab数据结构-元胞数组
- Matlab元胞数组操作
- matlab入门 元胞数组
- Matlab基础学习------架构数组
- Matlab元胞数组:(广义矩阵)
- MATLAB元胞数组(cell) I
- MATLAB元胞数组(cell) II
- matlab中的元胞数组保存问题
- matlab—元胞数组cell
- Matlab-元胞数组的索引
- MATLAB元胞数组写入Access数据库
- c++中sort()及qsort()的用法总结
- c++ const char* to const void
- 【DP】 HDOJ 1081 To The Max
- android中src和background区别
- log
- Matlab基础学习----------------元胞数组
- Spring学习笔记2——高级特性
- android listview 选中部分 文字颜色改变
- 二维数组对角线的和
- Best Time to Buy and Sell Stock III leetcode
- CLI 2.0 读书笔记
- 开博客记录自己的学习点滴
- PHPExcel生成和读取Excel文件实例程序
- 工作笔记之输入输出操作