comparing relevant elemnts of two matrix
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hi all,
I have two matrics like below:
a=[9 7 NaN; 6 3 8; 15 NaN 5; NaN 4 2];
b= [10,14,NaN;10,10,13;10,NaN,10;NaN,10,10;] ;
I want to see if each element of "a" is less than or equal to its corresponding element in "b"?
how can I write this program .
Thanks in advance.
1 comentario
Respuesta aceptada
Image Analyst
el 30 de Nov. de 2012
Maybe this is what you want:
a=[9 7 NaN; 6 3 8; 15 NaN 5; NaN 4 2]
b= [10,14,NaN;10,10,13;10,NaN,10;NaN,10,10;]
% Subtract the two.
% The value will be negative when a(r,c) < b(r,c).
differenceMatrix = a-b
% Make that into a boolean map of where a<b.
% It will be true (1) where a<b.
mapOfWhereAisSmallerThanB = differenceMatrix<0
% Just for fun, do the converse.
% Make that into a boolean map of where b<a.
% It will be true (1) where b<a.
mapOfWhereBisSmallerThanA = differenceMatrix > 0
% See if all non-Nan values have a<b
nonNanIndexes = ~isnan(a) & ~isnan(b)
if all(differenceMatrix(nonNanIndexes) < 0)
msgbox('All of a < b');
else
msgbox('Not all of a is < b');
end
In the command window:
a =
9 7 NaN
6 3 8
15 NaN 5
NaN 4 2
b =
10 14 NaN
10 10 13
10 NaN 10
NaN 10 10
differenceMatrix =
-1 -7 NaN
-4 -7 -5
5 NaN -5
NaN -6 -8
mapOfWhereAisSmallerThanB =
1 1 0
1 1 1
0 0 1
0 1 1
mapOfWhereBisSmallerThanA =
0 0 0
0 0 0
1 0 0
0 0 0
nonNanIndexes =
1 1 0
1 1 1
1 0 1
0 1 1
0 comentarios
Más respuestas (3)
Vishal Rane
el 30 de Nov. de 2012
Editada: Vishal Rane
el 30 de Nov. de 2012
By 'little-equal' I assume you mean 'less than or equal'.
Use
a <= b
assuming a,b are of same dimensions.
0 comentarios
Wayne King
el 30 de Nov. de 2012
Editada: Wayne King
el 30 de Nov. de 2012
I'll assume that " littel-equal " means "less than or equal to"
a=[9 7 NaN; 6 3 8; 15 NaN 5; NaN 4 2];
b= [10,14,NaN;10,10,13;10,NaN,10;NaN,10,10;] ;
indices = find(a<=b);
a(indices)
The above gives the elements of a that are less than or equal to the corresponding element of b.
or
C = a<=b;
The matrix C has a 1 where the element of a is less than or equal to the element of b and a 0 otherwise
1 comentario
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!