我有6个横截面时间序列阵列,具有不同的日期和大约99个资产。我想创建一个新数组,其中只包含来自所有六个数组的公共日期。我尝试使用以下功能,使用" ismember"这适用于2个数组,但我无法将其推广到n个数组。
idx = ismember(indexchg(:,1),equitychg (:,1))
finalmatrix = [indexchg(idx,1) indexchg(idx,2) equitychg(idx,2:end)]
有人可以建议一种方法来概括这一点。我试图在Matlab中使用find函数来查找资产和日期,但我想我必须运行一系列循环来排列数据。任何人都可以建议一个更简单的方法
答案 0 :(得分:1)
假设您设置了A
,B
,C
并希望找到所有元素中出现的元素,您可以嵌套交叉点。
可以这样做:
mySet = intersect(intersect(A,B),C)
如果你是一个懒惰的打字员,你也可以查看基本上就是这样的mintersect
File Exchange submission。然后就可以这样做:
mySet = mintersect(A,B,C)