替换八度矩阵上的元素
Substitute element on a octave matrices
我想替换一个矩阵中包含在一个范围内的所有元素。我尝试使用这种方法(例如简单的代码):
A = rand(5);
A(A>0 && A<0.5) = 0.5;
但是没用。这一项工作:
A = rand(5);
for j = 1:5
for i = 1:5
if A(i,j)>0 && A(i,j)<0.5
A(i,j) = 0.5;
endif
endfor
endfor
但是速度很慢。
快到了:
A = rand(5);
A(A>0 & A<0.5) = 0.5;
参见Element-by-element boolean operator。您使用了 &&
,这是一个 Short-circuit 布尔运算符。
我想替换一个矩阵中包含在一个范围内的所有元素。我尝试使用这种方法(例如简单的代码):
A = rand(5);
A(A>0 && A<0.5) = 0.5;
但是没用。这一项工作:
A = rand(5);
for j = 1:5
for i = 1:5
if A(i,j)>0 && A(i,j)<0.5
A(i,j) = 0.5;
endif
endfor
endfor
但是速度很慢。
快到了:
A = rand(5);
A(A>0 & A<0.5) = 0.5;
参见Element-by-element boolean operator。您使用了 &&
,这是一个 Short-circuit 布尔运算符。