【发布时间】:2019-02-26 13:18:43
【问题描述】:
function Z=replacez(A)
[M,N]=size(A);
for i=1:M
for j=1:N
if A(i,j)<0
Z(i,j)=77;
else
Z(i,j)=A(i,j);
end
end
end
这是 MATLAB 中的一个简单函数,它将数组 A 的负数替换为数字 77。是否可以不使用 for 循环而使用 find 函数来实现它?
到目前为止,我知道find(A<0) 返回一个数组,其中包含数组A 的负数位置。例如A=[1 , 0 , -3; -4 , 1 , -2],find(A<0) 将返回ans=[3 ,4 , 6]
【问题讨论】:
-
诸如 A(A
-
必须使用
find?在这种情况下,A(find(A<0)) = 77