Compare 2 arrays using for loop and if statement
5 次查看(过去 30 天)
显示 更早的评论
I want to compare enteries of 2 arrays and if they follow the condition, store the value at the same index in a separate array.
The following code is giving me an error. Please let me know what else can I use?
I want to return the 2D array M_filter_1
M =[1 2 3 ; 8 9 0];
e = 2;
M_filter_1=[[]];
n = size(M,2)
m = size(M,1)
A =[1 2 3 4 5 6 7 8 9 0];
for k = 1:1:size(A,2)
for i= 1:1:m
for j = 1:1:n
if (M(i,j)> A(k) - e) & (M (i,j)< A(k)+ e)
M_filter_1(i,j) = M(i,j);
else
M_filter_1(i,j)= 0 ;
end
end
end
end
16 个评论
Walter Roberson
2020-10-18
The output I showed in https://www.mathworks.com/matlabcentral/answers/616693-compare-2-arrays-using-for-loop-and-if-statement#comment_1066638 with the [1 0 0; 0 0 0] output, was run on R2020b.
回答(1 个)
Asad (Mehrzad) Khoddam
2020-10-18
M =[1 2 3 ; 8 9 0];
e = 2;
m = size(M,1);
n = size(M,2);
M_filter_1 = zeros(size(M));
A =[1 2 3 4 5 6 7 8 9 0];
for a = A
for i= 1:1:m
for j = 1:1:n
if (M(i,j)> a - e) && (M (i,j)< a + e)
M_filter_1(i,j) = M(i,j);
end
end
end
end
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!