- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章MATLAB数据结构教程
第6章 MATLAB数据结构
;
6.1 多维数组
6.2 结构体
6.3 细胞
6.4 字符串
6.5 本章小结
;
6.1 多维数组
6.2 结构体
6.3 细胞
6.4 字符串
6.5 本章小结
;6.1.1 多维数组的表现形式
;6.1.2 多维数组的创建
; 1、利用下标建立多维数组
; MATLAB的运行结果如下:
A(:,:,1) =
5 7 2
0 1 2
3 4 2
; MATLAB的运行结果如下:
ans =
6 6 6
6 6 6
6 6 6
; 2、利用MATLAB函数产生多维数组
; 3、利用cat函数建立多维数组
;然后用如下的代码查看D的大小:
size(D)
;6.1.2 多维数组的转换
;例1 使用cat函数将两个3×4的随机矩阵进行连接,形成一个3×4×2的多维数组。
;例2 将例6-3生产的矩阵M变成4×6的矩阵。
;
6.1 多维数组
6.2 结构体
6.3 细胞
6.4 字符串
6.5 本章小结
;6.2.1 结构体构造和赋值
;struct的使用格式为:
s = sturct(field1,values1,field2,values2,…);
需要注意的是数据values1、valuese2等必须为具有相同维数的数据。并且数据values1、values2等可以是细胞数组、结构体等,每个values的数据被赋值给相应的field字段。;例 将一个温室的数据最少包括这样几个字段:“温室名称”“温室大小”“温室温度”“温室种植物”,在MATLAB中利用函数struct,建立温室群的数据库。
; 当然,如果我们建立的温室不止一个,这个时候就可以用结构体数组来将所有的温室数据集合到一起了。; 在MATLAB中查看green_houses数组某个元素的值:
green_house(2)
;2. 利用赋值语句建立结构阵列
;clear?
patient1.name = John Doe;
patient1.billing = 127;
patient1.test = [79 75 73; 180 178 177.5; 220 210 205];
patient1
; 当然,也可以利用细胞数组一次输入多个结构元素,即可以输入多个病人的情况,其MATLAB代码为:
;6.2.2 结构体的嵌套
;A(2).nest.xdata=[3 4 2];
A(2).nest.ydata=[5 0 9]
A(1).data
A(2).nest
;
6.1 多维数组
6.2 结构体
6.3 细胞
6.4 字符串
6.5 本章小结
;6.3.1 细胞数组的创建
;A=cell(n):生成n×n的细胞数组A。
A=cell(m, n)或者A=cell([m, n]):生成m×n的细胞数组A。
A=cell(m, n, p, …)或者A=cell([m, n, p, …]):生成m×n×p×…的细胞数组A。
A=cell(size(B)):生成一个与数据B具有相同大小的细胞数组A。
;clear
% R、G、B单通道定义的值
R = ones(256, 256);
G = zeros(256, 256);
B = eye(256, 256);
% 定义细胞数组
Image = cell(3, 1);?
% 对细胞数组赋值
Image{1} = R;
Image{2} = G;
Image{3} = B;
Image
;2、直接赋值法
;例 设一个彩色图像的R通道为256×256的全1矩阵,G通道为256×256的全0矩阵,B通道为256×256的单位矩阵,则利用直接法创建细胞数组表示这个彩色图像的代码如下:
;6.3.2 细胞数组的访问
;查看cell数组a中的第三个cell的代码如下:
a(3)
则MATLAB的运行结果如下:
ans =
[2x3 double]
;查看cell数组a中第三个cell的内容的代码如下:
a{3}
则MATLAB的运行结果如下:
ans =
1 1 1
1 1 1
;6.3.2 细胞数组的显示
;例 利用celldisp( )显
文档评论(0)