【发布时间】:2015-08-22 09:11:23
【问题描述】:
如果有人能回答这个问题,我真的很感激。我问了很多人,但没有找到一个好的答案。
DATA = struct ('Direction',{[1,1,1,1],[1,1,2,1],[2,2,2,2,2],[2,2,2,2,1,2],[2,2,2,2],[1,4,3,5,2]);
我有这个结构,我正在使用以下代码到具有特定方向的那些:
DATA = DATA(arrayfun(@(x) sum(x.Direction == 2) + 1 >= numel( x.Direction ), DATA))
DATA = DATA(arrayfun(@(x) sum(x.Direction == 1) + 1 >= numel( x.Direction ), DATA))
这将允许我只选择例如方向为 2 的单元格,并允许使用一个不同的数字,例如 [2,2,2,2,1,2]。
我只是想知道是否有办法选择随机方向的单元格? IE。 [1,4,3,5,2](元素是随机的,可能包含也可能不包含1或/和2)
ps:
我不知道怎么写,但我想要一个代码,可以逐个元素地比较矩阵元素(就像我上面的那样),并且在到达一个不是 1 或 2 的元素的时刻,它随机选择它!这意味着随机矩阵可以有 1 和/或 2,但代码应该跳过它,直到它到达非 1 或 2 元素。
澄清一下:
我有 3 个条件
((1)) 要么该字段的所有元素都是 1,最多有一个元素不是 1 并且是 2。
((2)) 或者该字段的所有元素都是2,最多一个元素不是2并且是1。
((3)) 最后元素是随机的,但它们仍然可以有许多 1 和 2,这只是偶然。
选择“随机”是指选择第三类。我的代码适用于前两个类别,但对于第三个类别,它删除了一些实际上是随机但具有多个元素 1 和/或 2 的矩阵,因为代码只允许一个不同的元素
谢谢。
【问题讨论】:
-
我不知道怎么写,但我想要一个代码,可以逐个元素地比较矩阵元素(就像我上面的那样),以及到达一个不是的元素的时刻1或2,它选择它作为随机!这意味着随机矩阵可以有 1 和/或 2,但代码应该跳过它,直到它到达非 1 或 2 元素。谢谢
-
“随机选择”是什么意思?
-
我有 3 个条件((1))要么该字段的所有元素都是 1,最大一个元素不是 1 并且是 2。((2))或该字段的所有元素是 2,最大一个元素不是 2 并且是 1.((3)) 最后元素是随机的,但它们仍然可以有许多 1 和 2,这只是偶然。选择“随机”是指选择第三类。我的代码适用于前两个类别,但对于第三个类别,它删除了一些实际上是随机但具有多个元素 1 和/或 2 的矩阵,因为代码只允许一个不同的元素
-
第 3 类不就是不在第 1 类或第 2 类中的任何东西吗?
-
是的,这是真的,但我正在制作结构,我有限的知识说你可以减去结构,有没有办法做到这一点?谢谢
标签: arrays matlab struct cells