Autor Tema: Despejar la incógnita i de la ecuación

0 Usuarios y 1 Visitante están viendo este tema.

15 Julio, 2020, 02:21 am
Leído 229 veces

megasaw

  • Novato
  • Mensajes: 124
  • País: ec
  • Karma: +0/-0
  • Sexo: Masculino
Saludos a todos, tengo esta ecuación de flujo de dinero de la cual debo despejar i (interés) pero no hallo una manera, la ecuación es la siguiente:
\(  C=Z*X*(\frac{1-Z^n}{1-Z})  \)
Siendo \(  Z=\frac{1}{1+i}  \)
\(  C=23870,
        X=709,
        n=60
 \)
 ¿Cómo lo puedo hacer?


15 Julio, 2020, 04:39 am
Respuesta #1

ingmarov

  • Moderador Global
  • Mensajes: 4,798
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
Hola

Saludos a todos, tengo esta ecuación de flujo de dinero de la cual debo despejar i (interés) pero no hallo una manera, la ecuación es la siguiente:
\(  C=Z*X*(\frac{1-Z^n}{1-Z})  \)
Siendo \(  Z=\frac{1}{1+i}  \)
\(  C=23870,
        X=709,
        n=60
 \)
 ¿Cómo lo puedo hacer?



Creo que utilizar el álgebra no va a convenir en este caso, me parece que será mejor hacer uso de algún método numérico. Encontrar valores de Z que cumpla la ecuación, escoger el Z adecuado y finalmente depejar i.
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...

15 Julio, 2020, 04:44 am
Respuesta #2

megasaw

  • Novato
  • Mensajes: 124
  • País: ec
  • Karma: +0/-0
  • Sexo: Masculino
Hola

Saludos a todos, tengo esta ecuación de flujo de dinero de la cual debo despejar i (interés) pero no hallo una manera, la ecuación es la siguiente:
\(  C=Z*X*(\frac{1-Z^n}{1-Z})  \)
Siendo \(  Z=\frac{1}{1+i}  \)
\(  C=23870,
        X=709,
        n=60
 \)
 ¿Cómo lo puedo hacer?



Creo que utilizar el álgebra no va a convenir en este caso, me parece que será mejor hacer uso de algún método numérico. Encontrar valores de Z que cumpla la ecuación, escoger el Z adecuado y finalmente depejar i.

Puedes mencionar algún método que ayude? La verdad nunca he visto métodos numéricos así que se me complica más el despeje.

15 Julio, 2020, 05:00 am
Respuesta #3

ingmarov

  • Moderador Global
  • Mensajes: 4,798
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
El método de Newton-Raphson es uno.

https://metnum-utp01.blogspot.com/p/newton-raphson_10.html

Estos métodos se utilizan para encontrar los ceros de funciones, así que deberemos usar la función (la que tienes modificada), debes sustituir los valores conocidos

\( \displaystyle f(Z)=-C+Z\cdot X\left(\dfrac{1-Z^n}{1-Z}\right) \)

No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...

15 Julio, 2020, 05:24 am
Respuesta #4

ingmarov

  • Moderador Global
  • Mensajes: 4,798
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
Otra forma

Si i es muy pequeño, podemos decir que Z tiende a 1 por la izquierda.

\( \displaystyle\lim_{Z \to 1}{\dfrac{1-Z^{60}}{1-Z}}=\lim_{Z \to 1}{\dfrac{-60Z^{59}}{-1}}=60 \)

Entonces la ecuación nos queda

\( C=Z\cdot X(60) \)

Si i es suficientemente pequeño (si es lo normal), tendremos una buena aproximación.


Saludos
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...

15 Julio, 2020, 10:02 pm
Respuesta #5

megasaw

  • Novato
  • Mensajes: 124
  • País: ec
  • Karma: +0/-0
  • Sexo: Masculino
Otra forma

Si i es muy pequeño, podemos decir que Z tiende a 1 por la izquierda.

\( \displaystyle\lim_{Z \to 1}{\dfrac{1-Z^{60}}{1-Z}}=\lim_{Z \to 1}{\dfrac{-60Z^{59}}{-1}}=60 \)

Entonces la ecuación nos queda

\( C=Z\cdot X(60) \)

Si i es suficientemente pequeño (si es lo normal), tendremos una buena aproximación.


Saludos
Muchas gracias!

15 Julio, 2020, 11:44 pm
Respuesta #6

robinlambada

  • Moderador Global
  • Mensajes: 3,374
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
Otra forma

Si i es muy pequeño, podemos decir que Z tiende a 1 por la izquierda.

\( \displaystyle\lim_{Z \to 1}{\dfrac{1-Z^{60}}{1-Z}}=\lim_{Z \to 1}{\dfrac{-60Z^{59}}{-1}}=60 \)

Entonces la ecuación nos queda

\( C=Z\cdot X(60) \)

Si i es suficientemente pequeño (si es lo normal), tendremos una buena aproximación.


Saludos
Lo que ocurre es que el resultado no corrobora la hipótesis, es decir: Usando \( C=Z\cdot X(60) \)

Obtenemos  \( Z\approx{}0'561 \)

Una aproximación mejor aunque no demasiado buena , como \( Z=\dfrac{1}{1+i}<1 \), entonces \( Z^{60}<<1 \), se puede despreciar frente a 1

y  \( C=Z\cdot{}X\dfrac{1-Z^n}{1-Z}\approx{}\dfrac{Z\cdot{}X}{1-Z} \)

Obteniendo  \( Z^{60}\approx{}0'17 \) algo un poco más realista, pero tampoco para tirar cohetes.

Saludos.
Envejecer es como escalar una gran montaña: mientras se sube las fuerzas disminuyen, pero la mirada es más libre, la vista más amplia y serena.

La verdadera juventud una vez alcanzada, nunca se pierde.

15 Julio, 2020, 11:58 pm
Respuesta #7

ingmarov

  • Moderador Global
  • Mensajes: 4,798
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
Hola robinlambada

Spoiler
Otra forma

Si i es muy pequeño, podemos decir que Z tiende a 1 por la izquierda.

\( \displaystyle\lim_{Z \to 1}{\dfrac{1-Z^{60}}{1-Z}}=\lim_{Z \to 1}{\dfrac{-60Z^{59}}{-1}}=60 \)

Entonces la ecuación nos queda

\( C=Z\cdot X(60) \)

Si i es suficientemente pequeño (si es lo normal), tendremos una buena aproximación.


Saludos
Lo que ocurre es que el resultado no corrobora la hipótesis, es decir: Usando \( C=Z\cdot X(60) \)

Obtenemos  \( Z\approx{}0'561 \)

Una aproximación mejor aunque no demasiado buena , como \( Z=\dfrac{1}{1+i}<1 \), entonces \( Z^{60}<<1 \), se puede despreciar frente a 1

y  \( C=Z\cdot{}X\dfrac{1-Z^n}{1-Z}\approx{}\dfrac{Z\cdot{}X}{1-Z} \)

Obteniendo  \( Z^{60}\approx{}0'17 \) algo un poco más realista, pero tampoco para tirar cohetes.

Saludos.
[cerrar]

Sí, si i no es suficientemente pequeña comparada con 1, no se obtiene una buena aproximación. Me gusta más como lo has resuelto.

Saludos
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...

16 Julio, 2020, 12:03 am
Respuesta #8

robinlambada

  • Moderador Global
  • Mensajes: 3,374
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
Para afinar más el resultado se puede iterar la ecuación: \( C=Z\cdot{}X\dfrac{1-Z^n}{1-Z} \) (*)

sustituyendo \(  z^{60}=0'17 \) en (*) y volviendo a calcular Z, y después es fácil calcular el interés.

Wolfram alpha da este resultado:

 \(  z\approx{}0'979117 \) y en la primera aproximación a mi me sale \(  z\approx{}0'97115 \)

https://www.wolframalpha.com/input/?i=solve+23870%3D709x%281-x%5E60%29%2F%281-x%29
Saludos.


Envejecer es como escalar una gran montaña: mientras se sube las fuerzas disminuyen, pero la mirada es más libre, la vista más amplia y serena.

La verdadera juventud una vez alcanzada, nunca se pierde.

16 Julio, 2020, 12:14 am
Respuesta #9

robinlambada

  • Moderador Global
  • Mensajes: 3,374
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
Despejando Z, y llamando \( Z_i \) a la i-ésima iteración.

 \( Z_i=\dfrac{C}{C+X(1-Z_{i-1}^{60})} \) , para  \( i=1  \),  con  \( z_0^{60}=0'17  \)

Obtengo  \( Z_1\approx{}0'9759  \)

Saludos.
Envejecer es como escalar una gran montaña: mientras se sube las fuerzas disminuyen, pero la mirada es más libre, la vista más amplia y serena.

La verdadera juventud una vez alcanzada, nunca se pierde.

16 Julio, 2020, 05:45 pm
Respuesta #10

Juan Pablo Sancho

  • Moderador Global
  • Mensajes: 4,877
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
Usando el método de bisección da \(  z = 0.979114  \)
Spoiler
#include<stdio.h>
double potencia(double base,int exponente);
int main()
{
    double a=-1,b=1,func,epsilon = 0.000000001,z,absoluto;
   
    do
    {
        z = (a+b)/2.0;
        func = 709*z*(potencia(z,60)-1)/(z-1) - 23870;
        if(func == 0)
            return 0;
        else
        {
            if(func < 0)
                a = z;
            else
                b = z;
        }
        absoluto = func;
        if(absoluto < 0)
            absoluto = -absoluto;
        printf("%g \n",z);
       
    }while(absoluto >= epsilon);
   
    printf("La aproximación es %g \n",z);
   
return 0;

}

double potencia(double base,int exponente)
{
    double prod = 1.0;
    int i;
    for(i=1; i < exponente + 1 ; i++)
        prod = prod*base;
    return prod;
}
[cerrar]