When using find function, if function find is a empty matrix how to change that value?
Show older comments
I have two matrices (A and B) and I am comparing elements in matrix A to elements in matrix B. If there is a match A(i,j,k)==B matrix f will take value 1. If there is no match f will take value 0:
A = [5 7; 0 1]; A(:,:,2) = [1 0; 3 5]; B = [5 3; 0 7]; B(:,:,2) = [3 0; 3 3]; f=zeros(size(A)); for i = 1:size(A) for j = 1:size(A) for k = 1:size(A) [x,y,z] = ind2sub(sE,find(A(i,j,k)==B)); if x == zeros(0,1) f(i,j,k) = 0; else f(i,j,k) = 1; end end end end
I am having a error in if: ??? Error using ==> eq Matrix dimensions must agree.
How can I solve this?
3 Comments
Jan
on 31 Oct 2012
Please learn how to format code in this forum. It has been explained repeatedly.
Daniyal Awan
on 31 Oct 2012
Hi, Use 'preview' option to see how others see your post.
Answers (2)
Andrei Bobrov
on 31 Oct 2012
F = A == B;
Walter Roberson
on 31 Oct 2012
0 votes
Use isempty() to detect empty matrices rather than comparing to an empty matrix.
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!