Matlab如何获得struct内元素的个数?

Matlab如何获得struct内元素的个数?比如A是一个1x1struct,里面包含A_01,A_02,...A_10十个元素,每个元素都是1x1struct,什么命令... Matlab如何获得struct内元素的个数? 比如A是一个1x1 struct,里面包含A_01,A_02,...A_10十个元素,每个元素都是1x1 struct,什么命令或方法能够获得A内包含的这些元素的个数? 展开
 我来答
tan1peng
2015-05-29 · TA获得超过444个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:149万
展开全部
struct(结构),用于存放不同的数据类型
  要想知道struct中的元素个数,可以使用fieldnames()函数查看有哪些成员(域file),然后使用length()即可得到所有数据个数了;使用getfield()函数可以查看成员数据。

语法:
names = fieldnames(s)
names = fieldnames(obj)
names = fieldnames(obj, '-full')
解析:

  names = fieldnames(s) 返回结构体s的字段名,将其存储在字符串元胞数组中。
names = fieldnames(obj) 返回对象obj的公共字段名到字符串元胞数组names中,MATLAB会重载fieldnames,并定义它们的行为。
names = fieldnames(obj, '-full') 返回一个字符串元胞数组,该数组包含对象obj的各字段的名称(name)、类型(type)、属性(attributes)以及继承关系(inheritance)。该函数仅支持COM对象和Java对象。
例如:
>> a.x1 = 123;
>> a.x2 = 'a string';
>> a.x3 = [1,2,3,4,5];
>> fieldnames(a) % 返回成员名称列表
ans =
'x1'
'x2'
'x3'
>> getfield(a,'x1') % 查看某一成员的值
ans =
123
tianxiawulang
2013-09-04 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2674万
展开全部
你说的“元素”是指结构体的域(field,也称字段)吧?
如果是,那就用filednames获取struct所有的字段名,然后length一下就知道有多少个了。
追问
是的,“元素”是指“域”.谢谢指正。我试过之后再来告诉你
追答
应该不会有问题的,以前用过很多次
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chouchouNUDT
2013-09-04 · TA获得超过1706个赞
知道小有建树答主
回答量:2954
采纳率:50%
帮助的人:1063万
展开全部
length就OK了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式