4

我有一个名为Lst. 每个结构都具有以下形式:

Point (x,y)
Type (1-6)

我想为每种类型获取单独的点数组。我怎么才能得到它?

Lst(Lst.Type==1);

将不起作用,因为 Type 不是 的字段,Lst而是Lst(i).

此外,有没有办法保存每个项目的索引或另一种方法,然后将它们再次组合到原始顺序?

4

1 回答 1

6

L1 = Lst([Lst.Type]==1);会给你where的子L1集。LstType == 1

同样,您可以使用它idx1 = find([Lst.Type]==1)来记住您的索引。

编辑:上面使用[]运算符将​​字段元素聚合TypeLst一个数组中。对于您的评论/问题,您也可以使用完全相同的运算符来获取X结构化数组子集的特定字段元素的数组,如

X1 = [Lst([Lst.Type]==1).X];
于 2013-01-06T07:44:19.100 回答