weixing470 发表于 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循环的办法?

nwcwww 发表于 2011-12-5 23:54:14

本帖最后由 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 =

    []        []            []


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

weixing470 发表于 2011-12-7 04:25:07

nwcwww 发表于 2011-12-5 23:54 static/image/common/back.gif
>> A=struct('t',{1 2 3 2 2 4});arrayfun(@(x)find(x.t==2),s,'uniformoutput',false)

ans =


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

qibbxxt 发表于 2011-12-7 09:24:20

是不是要的这个效果啊?>> == 2

ans =

   0   1   0   1   1   0

nwcwww 发表于 2011-12-9 00:23:41

weixing470 发表于 2011-12-7 04:25 static/image/common/back.gif
谢谢,这个命令我试过,但是不好的地方是,返回的还是结构体数,要取出索引值还是没法直接做到。不过还是 ...

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

weixing470 发表于 2011-12-9 04:22:09

qibbxxt 发表于 2011-12-7 09:24 static/image/common/back.gif
是不是要的这个效果啊?

这个方法还不错,呵呵,谢谢

weixing470 发表于 2011-12-9 04:24:00

qibbxxt 发表于 2011-12-7 09:24 static/image/common/back.gif
是不是要的这个效果啊?

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

qibbxxt 发表于 2011-12-13 09:14:26

weixing470 发表于 2011-12-9 04:24 static/image/common/back.gif
元胞数组不能用find去找索引吧,还是得用四楼的办法找索引吧

不明白你的意思,你可以举个例子来

weixing470 发表于 2011-12-13 09:59:39

qibbxxt 发表于 2011-12-13 09:14 static/image/common/back.gif
不明白你的意思,你可以举个例子来

呵呵,我的意思是,有没有命令可以直接找到A.t=2时所有的A的索引,就是ans=?

qibbxxt 发表于 2011-12-13 10:30:40

weixing470 发表于 2011-12-13 09:59 static/image/common/back.gif
呵呵,我的意思是,有没有命令可以直接找到A.t=2时所有的A的索引,就是ans=? ...

>> A(1).t=1;
A(2).t=2;
A(3).t=3;
A(4).t=2;
A(5).t=2;
A(6).t=4;
>> find( == 2)

ans =

   2   4   5

weixing470 发表于 2011-12-13 12:25:15

qibbxxt 发表于 2011-12-13 10:30 static/image/common/back.gif


这个不错,谢谢,呵呵
页: [1]
查看完整版本: 关于结构体的运算