找回密码
 注册
Simdroid-非首页
查看: 101|回复: 10

关于结构体的运算

[复制链接]
发表于 2011-12-5 17:36:39 | 显示全部楼层 |阅读模式 来自 澳大利亚
A(1).t=1;
A(2).t=2;
A(3).t=3;
A(4).t=2;
A(5).t=2;
A(6).t=4;
请问如果想找到A.t=2时所有的A,有没有不用for循环的办法?
发表于 2011-12-5 23:54:14 | 显示全部楼层 来自 英国
Simdroid开发平台
本帖最后由 nwcwww 于 2011-12-9 00:10 编辑

>> A=struct('t',{1 2 3 2 2 4});arrayfun(@(x)find(x.t==2),s,'uniformoutput',false)

ans =

    []    [1]    []    [1]    [1]    []


*当时打错了,第二条命令里的s应该是A.
回复 不支持

使用道具 举报

 楼主| 发表于 2011-12-7 04:25:07 | 显示全部楼层 来自 澳大利亚
nwcwww 发表于 2011-12-5 23:54
>> A=struct('t',{1 2 3 2 2 4});arrayfun(@(x)find(x.t==2),s,'uniformoutput',false)

ans =

谢谢,这个命令我试过,但是不好的地方是,返回的还是结构体数,要取出索引值还是没法直接做到。不过还是谢谢
回复 不支持

使用道具 举报

发表于 2011-12-7 09:24:20 | 显示全部楼层 来自 河北廊坊
是不是要的这个效果啊?
  1. >> [A.t] == 2

  2. ans =

  3.      0     1     0     1     1     0
复制代码

评分

2

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-12-9 00:23:41 | 显示全部楼层 来自 英国
weixing470 发表于 2011-12-7 04:25
谢谢,这个命令我试过,但是不好的地方是,返回的还是结构体数,要取出索引值还是没法直接做到。不过还是 ...

返回的是元胞数组,不是结构体。取出索引很容易的。不过还是4楼的办法更好.
回复 不支持

使用道具 举报

 楼主| 发表于 2011-12-9 04:22:09 | 显示全部楼层 来自 澳大利亚
qibbxxt 发表于 2011-12-7 09:24
是不是要的这个效果啊?

这个方法还不错,呵呵,谢谢
回复 不支持

使用道具 举报

 楼主| 发表于 2011-12-9 04:24:00 | 显示全部楼层 来自 澳大利亚
qibbxxt 发表于 2011-12-7 09:24
是不是要的这个效果啊?

元胞数组不能用find去找索引吧,还是得用四楼的办法找索引吧

点评

cellfun()  发表于 2011-12-10 00:32
回复 不支持

使用道具 举报

发表于 2011-12-13 09:14:26 | 显示全部楼层 来自 河北廊坊
weixing470 发表于 2011-12-9 04:24
元胞数组不能用find去找索引吧,还是得用四楼的办法找索引吧

不明白你的意思,你可以举个例子来
回复 不支持

使用道具 举报

 楼主| 发表于 2011-12-13 09:59:39 | 显示全部楼层 来自 澳大利亚
qibbxxt 发表于 2011-12-13 09:14
不明白你的意思,你可以举个例子来

呵呵,我的意思是,有没有命令可以直接找到A.t=2时所有的A的索引,就是ans=[2 4 5]?
回复 不支持

使用道具 举报

发表于 2011-12-13 10:30:40 | 显示全部楼层 来自 河北廊坊
weixing470 发表于 2011-12-13 09:59
呵呵,我的意思是,有没有命令可以直接找到A.t=2时所有的A的索引,就是ans=[2 4 5]? ...
  1. >> A(1).t=1;
  2. A(2).t=2;
  3. A(3).t=3;
  4. A(4).t=2;
  5. A(5).t=2;
  6. A(6).t=4;
  7. >> find([A.t] == 2)

  8. ans =

  9.      2     4     5
复制代码
回复 不支持

使用道具 举报

 楼主| 发表于 2011-12-13 12:25:15 | 显示全部楼层 来自 澳大利亚
qibbxxt 发表于 2011-12-13 10:30

这个不错,谢谢,呵呵
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 15:11 , Processed in 0.046567 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表