TSL语言基础 > 矩阵计算 > 矩阵查找和遍历的保留字和算符 > MFind

MFind单参数模式    

  • Mfind(Matrix:Array):Array;
    Mfind在一个参数的时候,则为查找为真的下标,如果参数为一个一维数组,则其返回的结果集也为一个一维数组

    例如:找出数组中指定列符合指定条件的子集
    假定有随机数组b如b:=rand(1000,10);
    select的代码c:=select * from b where [0]>0.5 end;可以获得列0大于0.5的子集
    可以很便捷地使用矩阵模式代码替代:c:=b[mFind(b[:,0].>0.5)];

    b:=rand(1000,10);
    c:=b[mFind(b[:,0].>0.5)];
    return c;

    c的结果为第0列数值大于0.5的那些行集合。
    其中,理解运行步骤:
    第一步:b[:,0].>0.5得到一个一维的真假数组,即值大于0.5的行为真,否则为假。
    第二步:mFind(b[:,0].>0.5)获得元素值为真的行标集合,
    第三步:b[mFind(b[:,0].>0.5)]根据指定行标集合获取子矩阵,即获得了符合条件的b的子集。