Decrease the least and increase the highest

6 vues (au cours des 30 derniers jours)
sasso samer
sasso samer le 21 Juil 2016
Commenté : Star Strider le 21 Juil 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 commentaires
Image Analyst
Image Analyst le 21 Juil 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 le 21 Juil 2016
OP seems to be posting homework problems.

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 21 Juil 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

Plus de réponses (1)

Thorsten
Thorsten le 21 Juil 2016
Modifié(e) : Thorsten le 21 Juil 2016
B(A == max(A)) = B(A == max(A))*100;
B(A == min(A)) = B(A == min(A))*10;

Catégories

En savoir plus sur Mathematics dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by