6 votos

Reorganizar la fórmula de la experiencia Pokemon para hacer que el nivel sea el sujeto

Como el título sugiere, estoy tratando de reorganizar algunas de las fórmulas para calcular la experiencia basada en el nivel para que sea al revés (calcular el nivel basado en la experiencia).

Estoy teniendo problemas para reorganizar esta fórmula para n (n siendo nivelado):

$$EXP = \frac {n^3(100-n)}{50} $$

Lo que he hecho hasta ahora es:

  1. multiplicado los 50 fuera

$${EXP} \times {50} = {n^3(100-n)} $$

  1. expandido los paréntesis $${EXP} \times {50} = 100n^3 - n^4 $$

Pero no sé cómo continuar desde aquí para hacer n el tema para que pueda calcular el Nivel basado en Experiencia . ¿Lo hago? divide los 100 fuera, si es así, ¿afectaría eso a $n^4$ ?

Nota: Los enlaces a las fórmulas originales pueden ser se encuentra aquí .

0 votos

Has cometido un error: debías multiplicar por 50, no dividir. De todas formas, técnicamente la ecuación sólo puede resolverse analíticamente, utilizando la engorrosa fórmula cuártica. En la práctica, utilizarías una solución numérica.

0 votos

@Ian Me he dado cuenta de mi error y he editado rápidamente mi pregunta. Gracias por el consejo.

0 votos

Lo introduje en Maple incluso y se niega a dar una solución de forma cerrada, a pesar de que es definitivamente posible. Simplemente no es fácil.

6voto

Claude Leibovici Puntos 54392

Como respondió 6005, intentas encontrar $n$ tal que la ecuación $$f(n)=n^4-100 n^3 +50 a=0$$ y, según el enlace, esta fórmula se aplica para $0\leq n \leq 50$ (y $a<125000$ ). Como se ha dicho, las soluciones analíticas de los polinomios cuárticos no tienen mucha gracia y podría ser más fácil utilizar un método numérico como el de Newton. Partiendo de una conjetura $n_0$ el método lo actualizará en función de $$n_{k+1}=n_k-\frac{f(n_k)}{f'(n_k)}$$ es decir $$n_{k+1}=\frac{n_k^3 (3 n_k-200)-50 a}{4 (n_k-75) n_k^2}$$ Entonces, empieza en, digamos $n_0=25$ e iterar.

A título ilustrativo, tomemos $a=56789$ los iterados serán entonces $$n_1=38.3406$$ $$n_2=35.3914$$ $$n_3=35.2673$$ $$n_4=35.2671$$ que es la solución para seis cifras significativas. Todo eso se puede hacer fácilmente utilizando Excel.

Puede mejorar el punto de partida utilizando $n_0=a^{1/3}$ (esto quedará claro si se hace un diagrama logarítmico de $n^4-100n^3$ ) y el primer iterado del método Newton será $$n_1=\frac{\left(3 \sqrt[3]{a}-250\right) \sqrt[3]{a}}{4 \left(\sqrt[3]{a}-75\right)}$$ que parece ser muy bueno. Para el caso ilustrativo, esto dará $n_1=35.3986$ .

Una aproximación aún mejor podría obtenerse utilizando la aproximante de Pade más simple (no se preocupe: ¡ya aprenderá sobre ellas!). Dará $$n\approx \frac{650 a^{2/3}-3 a-30000 \sqrt[3]{a}}{-5 a^{2/3}+900 \sqrt[3]{a}-37500}$$ que, para el caso de prueba, dará $n\approx 35.2802$ .

Podrían hacerse fórmulas más precisas. Solo tienes que postear si quieres mejores aproximaciones.

Editar

Teniendo en cuenta tus últimos comentarios, para una solución exacta utiliza Newton $$n_{k+1}=\frac{n_k^3 (3 n_k-200)-50 a}{4 (n_k-75) n_k^2}$$ y elija $$n_0=50\, \big(\frac a {125000}\big)^{0.4306}$$ obtenido minimizando $$\Phi(\alpha)=\int_0^{50}\Big(\frac{n^3(100-n) }{50}-125000 \big(\frac n {50}\big)^\alpha \Big)^2 \,dn$$ Esto coincide exactamente con ambos puntos finales y conduce a un error de menos de una unidad en todo el intervalo. Aplicado a $a=56789$ esto da $n_0=35.5985$ y el proceso iterativo converge a la solución exacta en un par de iteraciones.

Un modelo más empírico (pero mucho mejor) podría ser $$n \approx 43.2633 \,x^{0.345438}+6.63856\, x^{1.33377}$$ donde $x=\frac a {125000}$ (observe que los exponentes son casi $\frac 13$ y $\frac 43$ ). El error máximo es inferior a $0.1$ en toda la gama. Para el valor de prueba, el resultado sería $35.2603$ .

Editar

Podemos obtener el exacto solución al problema. Definamos $N=\frac n {50}$ y $A=\frac a {125000}$ . Esto hace que la ecuación a resolver $N^3(N-2)+A=0$ que es un cuártico "bastante simple". Ahora, definamos $$Z=\sqrt[3]{\sqrt{3} \sqrt{27 A^2-16 A^3}+9 A}$$ $$T=\sqrt{\frac{2\ 2^{2/3} A}{\sqrt[3]{3} Z}+\frac{\sqrt[3]{2} Z}{3^{2/3}}+1}$$ Esto conduce a $$N=\frac{T+1}{2}-\frac{1}{2} \sqrt{\frac{2}{T}-\frac{2\ 2^{2/3} Y}{\sqrt[3]{3} Z}-\frac{\sqrt[3]{2} Z}{3^{2/3}}+2}$$

0 votos

Hice un ajuste de ley de potencia, haciendo log-log mínimos cuadrados de $y=100x^3-x^4$ en $x=1,2,\dots,50$ . Recibo $y=\exp(4.8797)x^{2.802}=131.6x^{2.802}$ . Que invierte a $x=0.1753y^{0.3569}$ . Volviendo a las antiguas variables, se obtiene $n=0.7082a^{0.3569}$ . Este es un ajuste decente hasta alrededor de $n=40$ . En particular, da la parte entera correcta de $n$ en su caso de prueba, que $a^{1/3}$ no lo hace. (Ésta sigue siendo una buena respuesta, sólo aporto un pequeño refinamiento).

0 votos

Obsérvese que la situación para $n$ es bastante malo en ambos casos. Para $a=4.5 \cdot 10^6$ la respuesta debería estar en torno a $43$ pero tu suposición es sobre $165$ mientras que el mío es de $168$ .

0 votos

@Ian. La fórmula se supone fot $a \leq 1250000$

4voto

6005 Puntos 19982

Usted está tratando de resolver $$ n^4 - 100n^3 + 50 \text{EXP} = 0 $$ para $n$ . Dado que la máxima potencia de $n$ es $4$ Esto se conoce como ecuación cuártica . Afortunadamente, al igual que existe la fórmula cuadrática para cuando la mayor potencia $2$ hay un fórmula cuártica para cuando la mayor potencia $4$ . (De hecho, hay es ninguna fórmula para resolver estas cosas cuando el poder supremo es $5$ o más)

Por desgracia, la fórmula cuártica es EXTREMADAMENTE larga, como puede verse en esta imagen . Pero es más sencillo cuando algunos de los coeficientes son cero, como en tu caso. Las instrucciones para resolver el cuártico se encuentran en en Wikipedia . Primero tendrá que calcular $p$ y $q$ entonces $\Delta_0$ y $\Delta_1$ entonces $S$ y $Q$ y, por último, puedes enchufarlos para obtener las raíces.

(Si tienes problemas, dímelo en un comentario y quizá pueda volver más tarde para hacer el cálculo yo mismo).

0 votos

Gracias por la respuesta, ya os contaré qué tal cuando llegue a casa.

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