Compare 2 arrays using for loop and if statement
12 views (last 30 days)
Show older comments
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 Comments
Walter Roberson
on 18 Oct 2020
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.
Answers (1)
Asad (Mehrzad) Khoddam
on 18 Oct 2020
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 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!