Conversion échelle linéaire en logarithmique
j'ai une échelle linéaire qui variait de 0,1 à 10 avec des incréments de changement à 0,1:
|----------[]----------|
0.1 5.0 10
Toutefois, la sortie doit vraiment être:
|----------[]----------|
De 0,1 à 1,0 10 (échelle logarithmique)
j'essaie de trouver la formule nécessaire pour convertir le 5 (par exemple) en 1.0. Par conséquent, si le cadran était décalé à mi-chemin entre 1,0 et 10 (valeur réelle à l'échelle linéaire étant de 7,5), quelle serait la valeur logarithmique résultante? J'y pense depuis des heures, mais je n'ai pas travaillé avec ce genre de maths depuis quelques années, donc je suis vraiment perdu. Je comprends le concept de base de log10 X = 10o, mais c'est assez bien.
La pseudo-valeur de 5,0 deviendrait 10 (ou 101) alors que la valeur de psuedo de 10 serait 1010. Alors, comment la figure la pseudo-valeur et valeur logarithmique résultante de, disons, 7,5?
faites-moi savoir si des informations supplémentaires sont nécessaires.
Merci pour toute aide fournie; cela m'a battu.
1 réponses
la Notation
comme c'est la convention à la fois en mathématiques et en programmation, la fonction "log" est prise pour base-E. La fonction" exp " est la fonction exponentielle. Rappelez-vous que ces fonctions sont des inverses nous prenons les fonctions comme:
exp: փ → փ+ et
log: փ+ → փ.
Solution
Vous êtes juste la résolution d'une équation simple ici:
y = a exp bx
résolvez pour et b en passant par les points x=0.1, y=0,1 et x=10, y=10.
observez que le rapport y1 / y2 est donnée par:
o1 / y2 = (a exp bx1) / (exp bx2) = exp b (x1 - x2)
Qui vous permet de pour résoudre b
b = log (y1 / y2) / (x1 - x2)
Le reste est facile.
b = log (10 / 0.1) / (10 - 0.1) = 20/99 journal 10 ≈ 0.46516870565536284
a = y1 / exp bx1 ≈ 0.09545484566618341
En Savoir Plus Sur La Notation
Dans votre carrière, vous aurez trouver des personnes qui utilisent la convention que la fonction log utilise la base e, la base 10, et même la base 2. cela ne signifie pas que quelqu'un a raison ou tort. c'est simplement un convention de notation et chacun est libre d'utiliser la convention de notation qu'il préfère.
la convention en mathématiques et en programmation informatique est d'utiliser le logarithme de base e, et utiliser la base E simplifie la notation dans ce cas, c'est pourquoi je l'ai choisi. Ce n'est pas la même comme la convention utilisée par les calculatrices telles que celle fournie par Google et votre TI-84, mais encore une fois, les calculatrices sont pour les ingénieurs, et les ingénieurs utilisent une notation différente que les mathématiciens et les programmeurs.
les langages de programmation suivants incluent une fonction log de base-e dans la bibliothèque standard.
C
log()
(et C++, par inclusion)Java
Math.log()
JavaScript
Math.log()
Python
math.log()
(y compris Numpy)Fortran
log()
C#,
Math.Log()
R
Maxima (à strictement parler, un TAS, pas un langue)
Régime
log
Lisp
log
en fait, je ne peux pas penser à un langage de programmation où log()
est autre chose que le logarithme de base-E. Je suis sûr qu'un tel langage de programmation existe.