元胞数组和结构体数组
2015-08-29 18:09
204 查看
1、定义元胞数组几种方法如下:
方式一:
a(1,1)={[1 3 5;4 7 9]};
a(1,2)={'北京'};
a(2,1)={8};
a(2,2)={(0:0.01:pi)};
方式二:
a{1,1}=[1 3 5;4 7 9];
a{1,2}='北京';
a{2,1}=8;
a{2,2}=0:0.01:pi;
方式三:
a={[1 3 5;4 7 9],'北京';8,0:0.01:pi}
方式四:
a=[{[1
3 5;4 7 9]},{'北京'};{8},{0:0.01:pi}]
(注意:元胞数组使用圆括号寻访得到的是元胞,而不是内容;使用大括号寻访,则可得到元胞的内容)
2、元胞数组的扩充与收缩,重组
利用cell函数创建元胞数组:
C=cell(2);
% 预设元胞数组为空
C(:,1)={char('Another','text string');10:-1:1} % 对第一列元胞赋值
元胞数组列扩充和行扩充:
AC=[A C] % 空格(或逗号)利用来分隔列
A_C=[A;C] % 分号利用来分隔“行”
AC =
[2x10 char] [3x3 double] [2x11 char ] []
[1.0000+ 2.0000i] [1x1 sym ] [1x10 double] []
A_C =
[2x10 char ] [3x3 double]
[1.0000+ 2.0000i] [1x1 sym ]
[2x11 char ] []
[1x10 double] []
cellplot 能用图形形象化地表示元胞数组的内容,例:cellplot(A_C,'legend');
元胞数组的收缩和重组
元胞数组的收缩:
A_C(3,:)=[] % 删除第 3 行
把 A_C 重组:
R_A_C=reshape(A_C,2,3)
元胞数组内容的调取:
元胞数组内容的调取示例。
(1)取一个元胞
f1=R_A_C(1,3) % 使用园括号寻访得到的是元胞,而不仅是内容。
class(f1)
f1 =
[1x1 sym]
ans =
cell
(2)取一个元胞的内容
f2=R_A_C{1,3} % 用花括号寻访取得内容
class(f2)
f2 =
sin(-3*t)*exp(-t)
ans =
sym
(3)取元胞内的子数组
f3=R_A_C{1,1}(:,[1 2 5 6]) % 注意三种括号的不同用途
% 取第 1 行第 1 列元胞内容中的第 1 、 2 、 5 、 6 列。
f3 =
这是
元胞创建
(4)同时调取多个元胞内容
[f4,f5,f6]=deal(R_A_C{[1,3,4]}) % 取三个元胞内容,赋值给三个变量
f4 =
这是
元胞数组创建算例 1
f5 =
10 9 8 7 6 5 4 3 2 1
f6 =
1 4 7
2 5 8
3 6 9
方式一:
a(1,1)={[1 3 5;4 7 9]};
a(1,2)={'北京'};
a(2,1)={8};
a(2,2)={(0:0.01:pi)};
方式二:
a{1,1}=[1 3 5;4 7 9];
a{1,2}='北京';
a{2,1}=8;
a{2,2}=0:0.01:pi;
方式三:
a={[1 3 5;4 7 9],'北京';8,0:0.01:pi}
方式四:
a=[{[1
3 5;4 7 9]},{'北京'};{8},{0:0.01:pi}]
(注意:元胞数组使用圆括号寻访得到的是元胞,而不是内容;使用大括号寻访,则可得到元胞的内容)
2、元胞数组的扩充与收缩,重组
利用cell函数创建元胞数组:
C=cell(2);
% 预设元胞数组为空
C(:,1)={char('Another','text string');10:-1:1} % 对第一列元胞赋值
元胞数组列扩充和行扩充:
AC=[A C] % 空格(或逗号)利用来分隔列
A_C=[A;C] % 分号利用来分隔“行”
AC =
[2x10 char] [3x3 double] [2x11 char ] []
[1.0000+ 2.0000i] [1x1 sym ] [1x10 double] []
A_C =
[2x10 char ] [3x3 double]
[1.0000+ 2.0000i] [1x1 sym ]
[2x11 char ] []
[1x10 double] []
cellplot 能用图形形象化地表示元胞数组的内容,例:cellplot(A_C,'legend');
元胞数组的收缩和重组
元胞数组的收缩:
A_C(3,:)=[] % 删除第 3 行
把 A_C 重组:
R_A_C=reshape(A_C,2,3)
元胞数组内容的调取:
元胞数组内容的调取示例。
(1)取一个元胞
f1=R_A_C(1,3) % 使用园括号寻访得到的是元胞,而不仅是内容。
class(f1)
f1 =
[1x1 sym]
ans =
cell
(2)取一个元胞的内容
f2=R_A_C{1,3} % 用花括号寻访取得内容
class(f2)
f2 =
sin(-3*t)*exp(-t)
ans =
sym
(3)取元胞内的子数组
f3=R_A_C{1,1}(:,[1 2 5 6]) % 注意三种括号的不同用途
% 取第 1 行第 1 列元胞内容中的第 1 、 2 、 5 、 6 列。
f3 =
这是
元胞创建
(4)同时调取多个元胞内容
[f4,f5,f6]=deal(R_A_C{[1,3,4]}) % 取三个元胞内容,赋值给三个变量
f4 =
这是
元胞数组创建算例 1
f5 =
10 9 8 7 6 5 4 3 2 1
f6 =
1 4 7
2 5 8
3 6 9
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 从java中调用matlab详细介绍
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域
- MATLAB中函数模式和命令模式的区别
- MATLAB 添加自定义的模块到simulink库浏览器
- MATLAB for Mac使编辑器支持中文
- [转]matlab中plot用法
- matlab程序优化以及eclipse与github的结合
- matlab中的rand函数(用于产生随机数)
- 图像增强算法四种,图示与源码,包括retinex(ssr、msr、msrcr)和一种混合算法
- MATLAB R2012a 安装到 Ubuntu 12.10
- 智慧网 分享DCT,DST,matlab