matlab使用单元数组和结构数组

matlab使用单元数组和结构数组

ID:14840402

大小:55.50 KB

页数:9页

时间:2018-07-30

matlab使用单元数组和结构数组_第1页
matlab使用单元数组和结构数组_第2页
matlab使用单元数组和结构数组_第3页
matlab使用单元数组和结构数组_第4页
matlab使用单元数组和结构数组_第5页
资源描述:

《matlab使用单元数组和结构数组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Matlab使用单元数组(cellarray)和结构数组(structarray)要在MALTAB中实现比较复杂的编程,就不能不用单元数组(cellarray)和结构数组(structarray)。而且在Matlab中实现struct比C中更为方便。一.单元数组单元数组中的每一个元素称为单元(cell).单元可以包含任何类型的matlab数据,这些数据类型包括数值数组,字符,符号对象,甚至其他的单元数组和结构体.不同的单元可以包含不同的数据.1.1单元数组创建与显示:1、直接赋值法:按单元索引法和按内容索引法。(其实也就是将花括号放在等式的右边或是左边的区别)

2、。注意:“按单元索引法”和“按内容索引法”是完全等效的,可以互换使用。通过下面实例,我们看到:花括号{}用于访问单元的值,而括号()用于标识单元(即:不用于访问单元的值)。具体理解{}和()区别可以在下面代码最后分别输入A{2,2}和A(2,2)。就会发现“按内容索引法{}”能显示完整的单元内容,而“按单元索引法()”有时无法显示完整的单元内容。>>A(1,1)={[123;456;789]};         %按单元索引法>>A(1,2)={2+3i};>>A(2,1)={'Acharacter'};>>A(2,2)={12:-2:0};>>A      

3、                   %要想详细显示A中的内容,可用指令:celldisp(A)A=    [3x3double]   [2.0000+3.0000i]   'Acharacter'         [1x7double]>>B{1,1}=[123;456;789];       %按内容索引法。>>B{1,2}=2+3i;>>B{2,1}='Acharacter';>>B{2,2}=12:-2:0;>>BB=    [3x3double]   [2.0000+3.0000i]   'Acharacter'         [1x7double

4、]2、利用cell函数法:即首先用cell函数生成一个空的单元数组,然后再向其中添加所需的数据。下面的代码生成一个2X3的空单元数组:>>C=cell(2,3)C=    []    []    []    []    []    []利用cell生成空单元数组后,可以采用“按单元索引法”和“按内容索引法”对其进行赋值。在赋值时,用户一定要注意{}和()的用法。>>C(1,1)={'Thisdoeswork'}C=   'Thisdoeswork'    []    []                 []    []    []>>C{2,3}='This

5、work'C=   'Thisdoeswork'    []            []                 []    []   'Thiswork'(1)利用cell指令创建单元数组C=cell(2);%预设空单元数组C(:,1)={char('Another','textstring');10:-1:1}%对第一列单元赋值C=[2x11char][][1x10double][](2)单元数组的“列”扩充和“行”扩充AC=[AC]%空格(或逗号)利用来分隔列A_C=[A;C]%分号利用来分隔“行”AC=[2x10char][3x3double]

6、[2x11char][][1.0000+2.0000i][1x1sym][1x10double][]A_C=[2x10char][3x3double][1.0000+2.0000i][1x1sym][2x11char][][1x10double][]【例】cellplot能用图形形象化地表示单元数组的内容。(A_C取自上例)cellplot(A_C,'legend')单元数组的收缩A_C(3,:)=[]%删除第3行,使A_C成为的单元数组A_C=[2x10char][3x3double][1.0000+2.0000i][1x1sym][1x10double][

7、]把A_C重组成单元数组R_A_CR_A_C=reshape(A_C,2,3)R_A_C=[2x10char][1x10double][1x1sym][1.0000+2.0000i][3x3double][]1.2单元数组内容的调取取一个单元f1=R_A_C(1,3)%使用园括号寻访得到的是单元,而不仅是内容。class(f1)f1=[1x1sym]ans=cell取一个单元的内容f2=R_A_C{1,3}%用花括号寻访取得内容class(f2)f2=sin(-3*t)*exp(-t)ans=sym取单元内的子数组f3=R_A_C{1,1}(:,[1256])

8、%注意三种括号的不同用途%取第1行第1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。