jueves, 23 de marzo de 2023

metodos de interpolacion

 

¿Qué es la interpolación lineal?

La interpolación lineal consiste en estimar la ubicación de un punto dentro de un intervalo numérico, suponiendo que los valores extremos de dicho intervalo están unidos por una recta. Conocida la ecuación de esta recta, es posible ubicar el punto desconocido.


(2) Métodos Numéricos - Interpolación Lineal -1 - YouTube


La idea se esquematiza en la siguiente figura, en la cual se muestra un acercamiento a la gráfica de una función entre los puntos A y B. Suponiendo que estos puntos están cercanos, es posible aproximar la curva que los une mediante una recta y encontrar así los puntos intermedios.

Figura 1.- Para hacer una interpolación lineal entre los puntos A y B se ha de suponer que están unidos por una recta . Fuente: F. Zapata.

También se puede aproximar la curva que une a los puntos dados mediante una función cuadrática u otro polinomio. Sin embargo la recta tiene la ventaja de su sencillez matemática, por lo cual resulta fácil de manejar, aunque siendo la interpolación más simple de todas, es posible que el resultado no sea tan preciso como el que se obtiene al emplear otras funciones.

Fórmulas

Se tienen dos puntos de coordenadas [xo, f(xo)] y [x1, f(x1)] entre los cuales está el punto [x, g(x)], cuyas coordenadas se desea conocer.

El primer paso consiste en unir los puntos conocidos mediante un segmento de recta, sobre el cual se encuentran las coordenadas del punto a calcular.

Figura 2.- Interpolación lineal para hallar el punto P sobre la recta interpolante g(x), ubicado entre los puntos A y B de f(x). Fuente: F. Zapata.

Como se puede ver, se forman dos triángulos rectángulos: ABC y APD, que además tienen un ángulo agudo en común, por lo que son triángulos semejantes, a los que se puede aplicar el teorema de Thales:

Sustituyendo la medida de los segmentos de acuerdo a la gráfica, se obtiene la siguiente relación:

De allí se procede a despejar g(x):

 Llamando:

f1(x1) = y1 ; fo(xo) = y; g(x) = y

La ecuación de arriba se transforma en:

Margen de error

Cuando se aproxima una función con este método, la cota de error viene dada por el valor absoluto de la diferencia entre la función f(x) y la recta interpoladora g(x):

Error = │f(x) − g(x) │

¿Cómo hacer una interpolación lineal?

Llevar a cabo una interpolación lineal es muy simple, solo hay que seguir estos pasos:

Paso 1

Determinar el punto incógnita P(x,y).

Paso 2

Establecer los dos puntos que limitan el intervalo donde se encuentra el valor a calcular, es decir, los puntos (xo,yo) y (x1, y1).

Paso 3

Sustituir todos los valores en la ecuación:

Y calcular el resultado.

Ejemplos de interpolación lineal

Ejemplo 1

Se quiere hallar el valor aproximado de ln 3 a través de una interpolación lineal, dados los siguientes valores:

ln 2 = 0.693147 y ln 4 = 1.386294

Comparar el resultado con el valor de ln 3 obtenido a través de una calculadora y determinar el margen error cometido.

  • Paso 1

Para encontrar el valor aproximado de ln 3 hay que proceder siguiente modo: en primer lugar se establece la incógnita, que es y = ln 3, junto a su correspondiente valor de “x”: x = 3. Este es el punto que se quiere calcular: (3, ln 3).

  • Paso 2

Después hay que establecer los puntos límites del intervalo con los valores conocidos. Se pide hacerlo con la siguiente pareja de puntos:

  • Límite inferior: [xo = 2; yo = ln 2 = 0.693147]
  • Límite superior: [x1 = 4; y1 = ln 4 = 1.386294]
  • Paso 3

Los valores determinados en los pasos 1 y 2 se sustituyen cuidadosamente en la ecuación para generar el resultado de la aproximación a ln 3:


El valor real de ln 3 obtenido mediante calculadora es:

ln 3 =1.098612

Y el margen de error es:

Error = │1.098612 − 1.03971 │= 0.059

El error porcentual de la interpolación se calcula dividiendo el error entre el valor real de ln3 y multiplicando por 100 %:

Error porcentual = (Error/Valor real)× 100 = (0.059/1.098612)×100% = 5.4%

Ejemplo 2

Ahora se desea hallar el valor aproximado de ln 3 mediante interpolación lineal, conocidos estos dos valores:

ln 2.5 = 0.916291 y ln 3.5 = 1.252763

Determinar también el error correspondiente y comparar con los resultados del ejemplo anterior.

  • Paso 1

De nuevo el punto incógnita es:

y = ln 3, x = 3

  • Paso 2

  • Límite inferior: [xo = 2.5; yo = yo = ln 2.5 = 0.916291]
  • Límite superior: [x1 = 3.5; y1 = ln 3.5 = 1.252763]
  • Paso 3

Examinando el valor ofrecido por la calculadora:

ln 3 =1.098612

Se determina la cota de error en este caso, que resulta:

Error = │1.098612 − 1.084527 │= 0.014

El error porcentual en este caso es ≈ 1.3 %. Comparando con la cota de error del ejemplo 1, el nuevo valor es más preciso, pues el intervalo elegido para interpolar es menor.

Ejercicios resueltos

Ejercicio 1

Calcular, mediante interpolación lineal, el calor específico del aire a presión constante cp  y temperatura de 530 K, partiendo de la tabla de valores que se muestra a continuación.

  • Solución

En la resolución de muchos problemas es frecuente que el valor que se busca no aparezca exactamente como se desea en la tabla de valores que se tiene a mano. Una alternativa es elegir el valor más cercano al deseado, pero muchas veces basta una interpolación lineal para encontrar una aproximación mucho mejor.

El valor de cp a 530 K no aparece en la tabla adjunta, pero se puede hacer una interpolación lineal con los respectivos calores específicos a 500 K y 550 K, que son las temperaturas más cercanas a 530 K y cuyos calores específicos sí aparecen en la tabla mostrada.

Los respectivos calores específicos a presión constante para dichas temperaturas son:

To = 500 K; cpo = 1.029 kJ /kg∙K

T1 = 550 K; cp1 = 1.040 kJ /kg∙K

Y la incógnita es el punto (500K, cp)

Sustituyendo en la fórmula de la interpolación lineal dada anteriormente, con T en el lugar de la variable “x” y cp en lugar de “y”, se tiene:

Ejercicio 2

La carga aplicada a un resorte (en kilopondios) produce las siguientes elongaciones (en milímetros) de acuerdo a la tabla que se muestra:

Calcular la elongación cuando la carga es 12.6 kp.

  • Solución

Sea y el valor de la elongación buscada cuando la carga es C = 12.6 kp. El punto incógnita es (12.6, y), que se encuentra entre los puntos:

Co = 10 kp; yo = 105 mm

C1 = 15 kp; y1 = 172 mm

Solo resta sustituir los valores en la ecuación:

Ejercicio propuesto

Calcular el calor específico del aire a volumen constante para una temperatura de 727 K, utilizando interpolación lineal y la tabla de valores del ejercicio resuelto 1.


(2) 📚 APRENDE A APLICAR PASO A PASO EL MÉTODO DE LA INTERPOLACIÓN ✅ - YouTube


jueves, 16 de marzo de 2023

codigo aproximaciones sucesivas

 


package aproximaciones.sucesivas;

import java.util.Scanner;


public class AproximacionesSucesivas {

    public static void main(String[] args) {

    Scanner leer = new Scanner (System.in);

    

        // - CREACION VARIABLES -

            double x1,g1,ep1,raiz,b1;

            raiz=5;

            

         // - INTRODUCCION -   

    System.out.println("Dentro de nuestra funcion tenemos valores definidos que son de 0 a 10 y tendremos que hayar los METODOS DE APROXIMACIONES SUCESIVAS");

    System.out.println("las formulas dadas para encontrar x es 0+10/2=5 entonces x=5, tambien dada la ecuacion preestablecida de    f(x)=-0.5x^2+2.5+4.5=0");   System.out.println("Haremos la simplificacion y desarrollo de la ecuacion dandonos g(x)=√5x+9, en la cual x será 5 y asi obtendremos g(x) y el resultado");    

    System.out.println("muestra la nueva x y comenzaremos de nuevo g(x) hasta completar la sucesicionn que queramos");

        System.out.println("");   

        

        // - BUCLE WHILE -

        int i=0;

        int c=0;

        System.out.println("Ingrese cuantas veces quiere repetir esta aproximacion sucesiva");

        i=leer.nextInt();

        System.out.println("");

    System.out.println("Dentro de nuestra primera sucesion los valores que tenemos son los siguientes:"); 

            while (c<i) {

        

        

        // - APROXIMACIONES SUCESIVAS -

            x1=raiz;

            g1=(5*x1)+9;

            raiz=Math.sqrt(g1);

            b1=raiz;

            ep1=((b1-x1)*100)/b1;

        System.out.println("X es igual a: "+x1);

        System.out.println("En g(x) sustituyendo en √5x+9, da como resultado: "+raiz);        

        System.out.println("El error porcentual es = |valor actual-valoranterior(100)|/valor actual: "+ep1+"%");

        System.out.println("");

        

        c++;

        }

    

    }

}


viernes, 10 de marzo de 2023

Codigo ejercicio #1 de biseccion java

 


package biseccion1;


import java.util.Scanner;

public class Biseccion1 {

Scanner Scanner = new Scanner (System.in);

        public static void main(String[] args) {

            

    float n1,n2,n3,n4;

            System.out.println("Nuestra funcion Y= x^4-2 tiene como valores definidos");

            System.out.println("Xa= 1 y Xb= 0");

    // - PRIMERA ITERACION -        

    n1=1;

    n2=2;

    float nu2= 0f;

    System.out.println("la formula para crear la iteracion es Xr= Xa+Xb/2");

    n3=n1+nu2;

    n4=n3/n2;

    System.out.println("Sustituyendo la iteracion #1 es: "+n4);

    System.out.println("");

            

    // - SEGUNDA ITERACION -     

        float a1,a2,a3,a4;

    a1=0.5f;

    a2=2;

    float aa2= 1f;

    System.out.println("la formula para la proxima iteracion es Xr= Xa+Xb/2");

    System.out.println("Aqui los valores son Xa= 0.5 y Xb= 1");

    a3=a1+aa2;

    a4=a3/a2;

    System.out.println("Sustituyendo la iteracion #2 es: "+a4);

    System.out.println("");

    

        // - TERCERA ITERACION -    

        float b2,b3,b4;

    float bb1=0.75f;

    b2=2;

    float bb2=1f;

    System.out.println("la formula para la proxima iteracion es Xr= Xa+Xb/2");

    System.out.println("Aqui los valores son Xa= 0.75 y Xb= 1");

    b3=bb1+bb2;

    b4=b3/b2;

    System.out.println("Sustituyendo la iteracion #3 es: "+b4);

    System.out.println("");

    

        // - CUARTA ITERACION -     

        float c2,c3,c4;

    float cc1=0.75f;

    c2=2;

    float cc2= 0.875f;

    System.out.println("la formula para la proxima iteracion es Xr= Xa+Xb/2");

    System.out.println("Aqui los valores son Xa= 0.75 y Xb= 0.87");

    c3=cc1+cc2;

    c4=c3/c2;

    System.out.println("Sustituyendo la iteracion #4 es: "+c4);

    System.out.println("");

    

        // - QUINTA ITERACION -    

        float d2,d3,d4;

    float dd1=0.75f;

    d2=2;

    float dd2= 0.812f;

    System.out.println("la formula para la proxima iteracion es Xr= Xa+Xb/2");

    System.out.println("Aqui los valores son Xa= 0.75 y Xb= 0.81");

    d3=dd1+dd2;

    d4=d3/d2;

    System.out.println("Sustituyendo la iteracion #5 es: "+d4);

    System.out.println("");

    

    // - SEXTA ITERACION -    

        float e2,e3,e4;

    float ee1=0.71f;

    e2=2;

    float ee2= 0.81f;

    System.out.println("la formula para la proxima iteracion es Xr= Xa+Xb/2");

    System.out.println("Aqui los valores son Xa= 0.71 y Xb= 0.81");

    e3=ee1+ee2;

    e4=e3/e2;

    System.out.println("Sustituyendo la iteracion #5 es: "+e4);

    System.out.println("");

        }

    }


EJERCICIO #1 BISECCION

 https://www.canva.com/design/DAFc1R0-mOo/fA1EFhniX8Ebg16Bznek3g/view?utm_content=DAFc1R0-mOo&utm_campaign=designshare&utm_medium=link&utm_source=publishsharelink

Codigo ejercicio #2 de biseccion java

 


package biseccion2;


import java.util.Scanner;


public class Biseccion2 {

 Scanner Scanner = new Scanner (System.in);

        public static void main(String[] args) {

            

    float n1,n2,n3,n4;

            System.out.println("Nuestra funcion Y= 4x^2-5x tiene como valores definidos");

            System.out.println("Xa= 1 y Xb= 1.6");

    // - PRIMERA ITERACION -        

    n1=1;

    n2=2;

    float nu2= 1.6f;

    System.out.println("la formula para crear la iteracion es Xr= Xa+Xb/2");

    n3=n1+nu2;

    n4=n3/n2;

    System.out.println("Sustituyendo la iteracion #1 es: "+n4);

    System.out.println("");

            

    // - SEGUNDA ITERACION -     

        float a1,a2,a3,a4;

    a1=1;

    a2=2;

    float aa2= 1.3f;

    System.out.println("la formula para la proxima iteracion es Xr= Xa+Xb/2");

    System.out.println("Aqui los valores son Xa= 1 y Xb= 1.3");

    a3=a1+aa2;

    a4=a3/a2;

    System.out.println("Sustituyendo la iteracion #2 es: "+a4);

    System.out.println("");

    

        // - TERCERA ITERACION -    

        float b2,b3,b4;

    float bb1=1.15f;

    b2=2;

    float bb2=1.3f;

    System.out.println("la formula para la proxima iteracion es Xr= Xa+Xb/2");

    System.out.println("Aqui los valores son Xa= 1.15 y Xb= 1.3");

    b3=bb1+bb2;

    b4=b3/b2;

    System.out.println("Sustituyendo la iteracion #3 es: "+b4);

    System.out.println("");

    

        // - CUARTA ITERACION -     

        float c2,c3,c4;

    float cc1=1.225f;

    c2=2;

    float cc2= 1.3f;

    System.out.println("la formula para la proxima iteracion es Xr= Xa+Xb/2");

    System.out.println("Aqui los valores son Xa= 1.225 y Xb= 1.3");

    c3=cc1+cc2;

    c4=c3/c2;

    System.out.println("Sustituyendo la iteracion #4 es: "+c4);

    System.out.println("");

    

        // - QUINTA ITERACION -    

        float d2,d3,d4;

    float dd1=1.225f;

    d2=2;

    float dd2= 1.2625f;

    System.out.println("la formula para la proxima iteracion es Xr= Xa+Xb/2");

    System.out.println("Aqui los valores son Xa= 1.225 y Xb= 1.2625");

    d3=dd1+dd2;

    d4=d3/d2;

    System.out.println("Sustituyendo la iteracion #5 es: "+d4);

    System.out.println("");

    

        }

    }


lunes, 6 de marzo de 2023

Método de biseccion EJERCICIO #2

 https://www.canva.com/design/DAFcdX0lFxs/gBYsNUIwHfimewvToiScMQ/view?utm_content=DAFcdX0lFxs&utm_campaign=designshare&utm_medium=link&utm_source=publishsharelink


codigo palindromo

 package quesito; import java.util.Scanner; public class PalindromoChecker {     public static void main(String[] args) {         // Variabl...