tutr = tripall(tripall(:,5)> -1,:);
这是一个MATLAB语句,tripall是一个矩阵,请问这个语法是什么啊,怎么理解这个呢?(勿喷,ball ball了)
%造一个矩阵
tripall = magic(5);
tripall(4,5)=-tripall(4,5);
tripall(2,5)=-tripall(2,5);
%逻辑矩阵的样子
logicA=tripall(:,5)> -1;
%这里代入上边的逻辑矩阵就明显了
tutr = tripall(tripall(:,5)> -1,:);
首先A(参数1,参数2)是对A进行框选
参数1是要哪些行,参数2是要哪些列。
A(1:3,4:5)这是框选1到3行,4到5列
如果只是:就是全要
A(:,1),所有行,第一列
tripall(:,5)> -1 是筛选条件,它会返回一个逻辑矩阵,就是返回一个只含有0或1的矩阵。它要截取所有行第五列,结果中大于-1的元素。左边所有行第五列会返回tripall的五列,它是个5X1的矩阵,对于它的所有元素,大于-1,就用1替换,得到的是一个5X1的逻辑矩阵。
再代入,可以看出,tutr 是截取第五列元素大于-1的行,并且所有列。