我有一个矩阵M(x,y)。我想在x中的所有值中应用阈值,如果x
示例:
M = 1,2; 3,4; 5,6;
如果在第一维上应用t = 5,则结果为
R = 0,2; 0,4; 5,6;
答案 0 :(得分:5)
一种方法(使用M(:,1)
选择第一列; M(:,1)<5
返回第一列中项目的行索引,而不是5)) -
> R = M;
> R(M(:,1)<5,1) = 0
R =
0 2
0 4
5 6
另一个 -
R = M;
[i,j]=find(M(:,1)<5); % locate rows (i) and cols (j) where M(:,1) < 5
% so j is just going to be all 1
% and i has corresponding rows
R(i,1)=0;
答案 1 :(得分:1)
在任意尺寸的矩阵中进行:
thresh_min = 5;
M(M < thresh_min) = 0;
语句M < thresh_min
返回小于thresh_min
的M索引。然后,使用这些索引重新索引到M
,您可以将所有这些符合所需条件的valuse设置为0
(或其他任何内容)。