Decrease the least and increase the highest

10 visualizaciones (últimos 30 días)
sasso samer
sasso samer el 21 de Jul. de 2016
Comentada: Star Strider el 21 de Jul. de 2016
I have an array
A = [1 -3 -6 10 2 3 7 -1 -9 -3]
B = [1 2 3 4 5 6 7 8 9 10]
1) I want to check the least negative and the highest positive in array A.
2) In the corresponding number in Matrix B, if it is the least negative then multiply the number in B by 10 and if it is the highest positive, then multiply the number in B by 100.
3) Then B = [1 2 3 400 5 6 7 8 90 10]
  2 comentarios
Image Analyst
Image Analyst el 21 de Jul. de 2016
Are you sure that's what they want? It's kind of ambiguous. You could also assert that the least negative value is the -1, and the most negative value is -9, in which case the 8 would be multiplied by 10 instead of the 9.
Star Strider
Star Strider el 21 de Jul. de 2016
OP seems to be posting homework problems.

Iniciar sesión para comentar.

Respuesta aceptada

Star Strider
Star Strider el 21 de Jul. de 2016
A = [1 -3 -6 10 2 3 7 -1 -9 -3];
B = [1 2 3 4 5 6 7 8 9 10];
[~,idxlo] = min(A);
[~,idxhi] = max(A);
B(idxlo) = 10*B(idxlo);
B(idxhi) = 100*B(idxhi)
B =
1 2 3 400 5 6 7 8 90 10

Más respuestas (1)

Thorsten
Thorsten el 21 de Jul. de 2016
Editada: Thorsten el 21 de Jul. de 2016
B(A == max(A)) = B(A == max(A))*100;
B(A == min(A)) = B(A == min(A))*10;

Categorías

Más información sobre Mathematics 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!

Translated by