2017-06-29 9 views
-1

J'ai une question plutôt unique. Disons que j'ai une distribution aléatoire de 100 nombres dans la gamme: (0.25, 0.75). Supposons que le nombre le plus bas est 0.26 et le plus élevé est 0.73.Comment convertir une liste de nombres en différentes valeurs mais avec un certain ratio?

Maintenant, je veux convertir ces nombres à une nouvelle gamme de (0.3, 1) où dans ce cas, 0.26 = 0.3 et 0.73 = 1. Par conséquent, tous les nombres de la gamme originale seront mis à l'échelle en conséquence nouvelles restrictions 0.3-1 que j'ai définies.

Je ne sais pas comment résoudre cette question. Quelqu'un pourrait-il aider?

Répondre

0

Il s'agit d'un redimensionnement linéaire simple. Si la valeur que vous voulez redimensionnez est x, la valeur est redimensionnée:

(x - 0.26)/(0.73 - 0.26) * (1 - 0.3) + 0.3 

Cette expression peut être simplifiée, bien sûr, mais je l'ai montré tous les termes afin que vous puissiez voir comment cela fonctionne.