• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab 怎么建立结构体数组?

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

https://zhidao.baidu.com/question/537198107.html

 怎么定义一个结构体数组,使数组的每个元素是一个结构体变量。像这样:a=(1,2)a(1)=struct(\'name\',0,\'num\',0)a(1)=struct(\'name\',0,\'num\',0)

匿名 | 浏览 10361 次
发布于2013-04-01 17:34 最佳答案
 
st.a = \'1\'; st.b = \'gg\';   % 建立结构体
A = cell(1,2); % 建立结构体数组
A{1} = st; % 数据赋值
A{2} = st;


ell元包是matlab中提供的一种数据类型,功能强大。
关于cell的创建:
1.跟一般创建举证一样,直接使用C = {A B D E}这种形式,不过这里把"[]"改成了}"{}"
2.使用cell创建cell,C= {C1 C2},这里C1和C2都是cell类型,直接把C1 C2作为一个cell得到的C3是一个1x2的cell数组;使用C3 = [C1 C2],是使用C1和C2的内容来创建cell数组
3.使用cell函数,A=cell(2,2),创建一个空的2x2的cell矩阵.
关于cell的访问:
1.X = C(s)使用这种"()"形式的返回的是cell类型
2.X = C{s}使用这种"{}"形式的返回的是cell中的内容
3.其他的基本上与通常的数组.矩阵访问一样了
4.A{1,1}(2,3:end)访问的是A中的第一个cell里面内容的第2行的第三个元素以后的所有元素
5.A{1,3}.name访问的是A中的A{1,3}cell里面结构的name值
6.cell的图形化显示使用命令cellplot(A)即可
关于cell的删除:
1.cell(1)=[]删除第一个cell,不能使用cell{1}=[],这是把第一个cell内容置空没有删除
>>C4={C1,C2,C3}
C4 =
{3x2 cell} {3x3 cell} {3x1 cell}
>> C4(1)=[]
C4 =
{3x3 cell} {3x1 cell}
2.cell(:)=[]删除所有的cell,其他的删除一次类推
>> C4(:)=[]
C4 =
{}
B={[1;2]}
这就定义了一个cell型的变量B,里面保存的是一个矩阵[1;2]
要引用里面的数据只要在大括号里写上对应的下标即可,如
B{1}
下面我们给B再加个元素,我们可以这样定义
B(2)={\'hello\'}
也可以利用引用的方法定义
B{2}=\'hello\'
第二种方法比第一种方法更方便所以更常用。
这样B就有两个元素了,B(1)是{[1;2]},B(2)是{\'hello\'},每个元素都是cell型的(注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是\'hello\')
 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
delphi中edit控件内容上下居中发布时间:2022-07-18
下一篇:
Delphi用DBExpress连接sybase数据库(原创)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap