I have two matrices and I would like to create a matrix containing the above threshold value of each element of both matrices

1 visualización (últimos 30 días)
I have two matrices of the same size and for each element I would like to do the following:
if the value of the element in matrix2 is above the threshold, keep the value
else assign the value of matrix1 to this element.
Is this possible without for loops?

Respuesta aceptada

Matt J
Matt J el 15 de Jun. de 2020
Editada: Matt J el 15 de Jun. de 2020
Is this possible without for loops?
Yes. One way is as follows:
mask=(matrix2>=threshold);
result = matrix2.*mask + matrix1.*(~mask);

Más respuestas (1)

Matt J
Matt J el 15 de Jun. de 2020
Another way,
result=matrix2;
idx=(matrix2<threshold);
result(idx)=matrix1(idx);

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by