huali 发表于 2009-7-13 22:01

关于MATLAB取子集的函数

最近刚开始接触matlab,觉得很容易入手,也很强大,非常喜欢,但是因为接触时间短,所以对一些函数功能了解不够,时间较紧,现在算法的编译过程中遇到一个取集合的子集的问题,不知道有哪位能大侠能告知,matlab中是否有函数能直接取子集的函数呢,先行谢过,万分感激。。。

ChaChing 发表于 2009-7-13 23:39

个人水平专业有限, 建议楼主说清楚些!
看看union, intersect, setdiff, setxor, unique, ismember, issorted...有无LZ要的

huali 发表于 2009-7-14 09:57

回复 沙发 ChaChing 的帖子

哦,不好意思,是我表达太粗糙,自我批评下,我再详细说一下吧。是这样的,现在假设我有很多个单元数组Z1,见图,有的单元数组里面放着一个代表列数的数字,有的没有,如果放了,都是从第一个单元数组连着放的,见图,现在我以每一行为一个集合,比如第74行,集合A就包括(60,61,62)三个数,现在要取这个集合A的子集,比如A1=(60,61),A2=(60,63),...A7=(63),因为在我程序要求集合不能为空。这样集合A如果有n个数,它的子集就是2EXP(n)-1,所以自己写循环来取我觉得不显示,想问问有什么函数可以直接用吗。为了形象,图片奉上吧,刚刚看了你提供的一些函数,没有我想要的功能,但我还在想有没有可以变化一下可以间接使用的。

[ 本帖最后由 huali 于 2009-7-14 14:24 编辑 ]

ChaChing 发表于 2009-7-14 11:16

还是没能了解LZ的意思! 待高人路过

[ 本帖最后由 ChaChing 于 2009-7-14 11:26 编辑 ]

friendchj 发表于 2009-7-14 17:38

help nchoosek or combntns
如:
>> A1=combntns(,2)
A1 =
    60    61
    60    62
    61    62
>> A2=combntns(,1)
A2 =
    60
    61
    62

[ 本帖最后由 friendchj 于 2009-7-14 17:39 编辑 ]
页: [1]
查看完整版本: 关于MATLAB取子集的函数