When using find function, if function find is a empty matrix how to change that value?
显示 更早的评论
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 个评论
Jan
2012-10-31
Please learn how to format code in this forum. It has been explained repeatedly.
Daniyal Awan
2012-10-31
Hi, Use 'preview' option to see how others see your post.
回答(2 个)
Andrei Bobrov
2012-10-31
F = A == B;
Walter Roberson
2012-10-31
0 个投票
Use isempty() to detect empty matrices rather than comparing to an empty matrix.
类别
在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!