我需要比较多维数组中的值,根据这个比较,我需要将同一索引中另一个矩阵的值分配给同一索引中相同大小的新矩阵。你能告诉我如何做到这一点吗?
以下是使用for循环的代码,但我需要在不使用for循环的情况下执行此操作。
for i = 1:sizeOfMatrix(1, 1)
for j = 1:sizeOfMatrix(1, 2)
if grayImage(i, j) > t
result(i, j) = 0;
else
result(i, j) = grayImage(i, j);
end
end
end
其中t是我需要与之比较的值。
答案 0 :(得分:1)
result = zeros(size(grayImage));
result(grayImage <= t) = grayImage(grayImage <= t);
这是一种更有效,更清晰的方式来有条件地访问矩阵元素。
或者,您可以这样做:
result = grayImage;
result(grayImage > t) = 0;