A:对于数字数组,一般实现建议:通过关系运算符判断出是否符合条件,即生成真假矩阵,然后再通过mfind查找出为真的单元的行列下标。
目前TSL语言中,支持矩阵关系运算符.<>,.>,.<,.>=,.<=,.=,
矩阵链式关系运算符 ::> ::< ::<> ::== ::>= ::<=
示例1:当条件单一时,可使用普通关系运算符+mfind实现
data:=rand(10,4);
return mfind(data.<0.5);//返回结果为二维,每个符合条件的单元的行列信息
//若对指定列筛选,如对列2则使用return mfind(data[:,2].<0.5)//返回结果为一维,即行标
示例2:当存在多个条件时,可使用链式关系算符+mfind实现
返回data数组中,列2中大于等于0.3且小于等于0.7的行
data:=rand(10,4);
cS:=2;//指定判断列
lower:=0.3;
upper:=0.7;
t:= mfind(lower::<=data[:,cS]::<=upper);
//等价于mfind((data[:,cS].<=upper).&& (data[:,cS].>=lower))
return t;