4 votos

¿Cómo puedo encontrar la ecuación de una ecuación exponencial dado un conjunto de puntos?

Sé que la ecuación que se ajusta a los puntos dados es exponencial. ¿Cuál es la mejor manera de encontrar la ecuación?

3voto

Ash Puntos 121

Si usted tiene una ecuación de la forma $y=ae^{bx}$, usted puede pensar en él de forma similar a los puntos de $(x,\log{(a)}+bx)$ y ejecutar una regresión lineal en este para encontrar las opciones de $(a,b)$.

Edit: ejecuta una regresión lineal en $(x, \log{(y)})$, que hay muchos métodos. Una vez que obtenga su $\log{(y)}$ de los valores, sólo exponentiate ellos.

2voto

Mingo Puntos 126

Tal vez usted querrá considerar un aumento exponencial de regresión. Aquí es una herramienta en línea (muy fácil de usar).

2voto

CC. Puntos 921

Al tomar el logaritmo de los datos y, a continuación, haciendo una regresión lineal, como se sugiere en aengle la respuesta de arriba le dará una rápida y sucia de responder a la mayor parte del tiempo, la transformación logarítmica de los datos de los cambios subyacentes de la distribución estadística de ruido que puede violar en una importante suposición subyacente métodos de mínimos cuadrados, es decir, que el ruido es de aproximadamente de Gauss-distribuido. También, si los datos que contiene un cero, el logaritmo es indefinido y por lo tanto no se puede hacer la curva de ajuste.

En la práctica, de una relación no lineal de mínimos cuadrados es generalmente hecho en su lugar. El método de Levenberg-Marquardt y "confía en la región de" los métodos son bastante populares para este tipo de ajuste, aunque hay muchas maneras de hacerlo. Aquí está un ejemplo de código de Mathematica para adaptarse a la señal inicial S0 y la constante de velocidad de R para el modelo S(t) = S0*e^(I*t) dado un conjunto de cinco puntos de datos y el uso de un "trust región" método. Tenga en cuenta que si usted tiene una buena estimación inicial de S0 y R, usted debe utilizar.

En[42]:= FindFit[{{0.001, 1268.5565625472284}, {0.002933333333333333, 840.0515614029605}, {0.004866666666666667, 581.1715538716999}, {0.0068, 374.3637645280635}, {0.008733333333333333, 360.71242247849415}}, S0*Exp[R*t], {{S0, 1000}, {R, 1.0}}, {t}, MaxIterations -> 50, Método -> {"Newton", StepControl -> "TrustRegion"}, AccuracyGoal -> 3, PrecisionGoal -> 3, WorkingPrecision -> MachinePrecision]

[42]= {S0 -> 1512.55, R -> -191.072}

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X