Actividad 01 · Índice H + Programación de 4 Métodos

16/10/2025

Completada

Descripción de la Actividad

1. Investigación de Índice H sobre docentes de la Facultad de Ingeniería Estadística e Informática.

2. Programación de 4 métodos para encontrar raíces: Método de Bisección, Método de la Secante, Método de Punto Fijo y Método de Regula Falsi.

Desarrollo de la Actividad


📊 Índice H

Nombre Afiliación SCOPUS ID ORCID Citas Documentos Índice H Estado
CANQUI-FLORES, BERNABÉ UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 57224302525 CONECTADO 20 (DE 19 DOCUMENTOS) N/A 8 ENCONTRADO
PEREZ QUISPE, SAMUEL DONATO N/A N/A N/A N/A N/A N/A NO ENCONTRADO
QUISPE YAPO, EDGARDO N/A N/A N/A N/A N/A N/A NO ENCONTRADO
ROQUE CLAROS, ROBERTO ELVIS N/A N/A N/A N/A N/A N/A NO ENCONTRADO
LLUEN VALLEJOS, CÉSAR AUGUSTO N/A N/A N/A N/A N/A N/A NO ENCONTRADO
AZAÑERO DE AGUIRRE, EMMA OFELINDA N/A N/A N/A N/A N/A N/A NO ENCONTRADO
APAZA-TAROULI, ALEJANDRO UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 57222436215 0000-0003-1622-8662 6 (DE 6 DOCUMENTOS) N/A 5 ENCONTRADO
TUMI-FIGUEROA, ERNESTO NAYER UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 57000361700 CONECTADO 23 (DE 23 DOCUMENTOS) N/A 6 ENCONTRADO
COYLA-CCAMA, LEONEL UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 58636847770 CONECTADO 1 (DE 1 DOCUMENTO) N/A 5 ENCONTRADO
MORILLOS VALDERRAMA, SANTOS OCTAVIO N/A N/A N/A N/A N/A N/A NO ENCONTRADO
SALAS PILCO, MARÍA MAURA N/A N/A N/A N/A N/A N/A NO ENCONTRADO
QUISPE MAMANI, GOOFREDO UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ N/A N/A 1 (DE 1 DOCUMENTO) N/A 4 ENCONTRADO (PARCIAL)
GONZALES, LEONID ALÉMAN UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 58648491200 0000-0002-4072-6370 0 (DE 1 DOCUMENTO) N/A 4 ENCONTRADO
IBAÑEZ-QUISPE, VLADIMIRO UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 57201819773 0000-0002-0277-4945 52 (DE 52 DOCUMENTOS) N/A 21 ENCONTRADO
CARPIO VARGAS, EDGAR ELOY UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 57222111755 0000-0001-6457-4537 26 (DE 25 DOCUMENTOS) N/A 9 ENCONTRADO
TITO LIPA, JOSE PÁNFILO UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 58688221000 0000-0002-3572-5682 0 (DE 0 DOCUMENTOS) N/A 3 ENCONTRADO
GONZALES ACHATA, ALFREDO ERNESTO N/A N/A N/A N/A N/A N/A NO ENCONTRADO
PUMA HUAMANI, BETO N/A N/A N/A N/A N/A N/A NO ENCONTRADO
ALVAREZ ROZAS, TERESA PAOLA N/A N/A N/A N/A N/A N/A NO ENCONTRADO
HUATA-PANCA, PERCY UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 57357711000 0000-0002-1624-9526 14 (DE 12 DOCUMENTOS) N/A 2 ENCONTRADO
QUISPE CARITA, ANGEL JAVIER N/A N/A N/A N/A N/A N/A NO ENCONTRADO
JUDIREZ-VARGAS, JUAN CARLOS CARLOS UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 58681177000 CONECTADO 2 (DE 2 DOCUMENTOS) N/A 3 ENCONTRADO
VILLASANTE-SARAVIA, FREDDY HERIC UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 58671288200 0000-0002-8859-9008 7 (DE 7 DOCUMENTOS) N/A 2 ENCONTRADO
PARI-CONDORI, ELQUI YEYE UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 58394599000 0000-0003-3248-0754 1 (DE 1 DOCUMENTO) N/A 2 ENCONTRADO
CHOQUEJAJUA-ACER, REMO UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 58649131500 CONECTADO 2 (DE 2 DOCUMENTOS) N/A 8 ENCONTRADO
MENDOZA-MOLLOCONDO, CHARLES IGNACIO UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 57562769000 0000-0002-4766-2701 17 (DE 16 DOCUMENTOS) N/A 2 ENCONTRADO
APAZA CUTIPA, RENZO N/A N/A N/A N/A N/A N/A NO ENCONTRADO
LÓPEZ CUEVA, MILTON ANTONIO UNIVERSIDAD NACIONAL DEL ALTIPLANO, PUNO, PERÚ 58671948800 CONECTADO 2 (DE 2 DOCUMENTOS) N/A 6 ENCONTRADO
VARGAS VALVERDE, CONFESOR MILAN N/A N/A N/A N/A N/A N/A NO ENCONTRADO

💻 Programación de 4 Métodos Numéricos


1. Método de Newton-Raphson

Definición

Es un procedimiento iterativo que utiliza la **derivada de la función** para aproximar las raíces de ecuaciones no lineales. Su rapidez de convergencia (convergencia cuadrática) lo hace muy utilizado en ingeniería y matemáticas aplicadas.

Fórmula

$$x_{n+1}=x_{n}-\frac{f(x_{n})}{f^{\prime}(x_{n})}$$

Acotaciones

  • Convergencia rápida si la aproximación inicial está cerca de la raíz verdadera.
  • Requiere que la función sea derivable en el intervalo considerado.
  • Puede fallar o divergir si la derivada en el punto inicial es cero o cercana a cero.

1.1. Código en Python



import math

# Función a resolver: f(x) = e^x - 3x
def f(x):
    return math.exp(x) - 3*x

# Derivada: f’(x) = e^x - 3
def df(x):
    return math.exp(x) - 3

def newton_raphson(x0, tol=1e-6, max_iter=100):
    """
    Aproxima la raíz de f(x) usando el método de Newton-Raphson.
    
    x0: valor inicial
    tol: tolerancia para convergencia
    max_iter: número máximo de iteraciones
    """
    xn = x0
    for n in range(max_iter):
        f_val = f(xn)
        df_val = df(xn)
        
        if abs(df_val) < 1e-12:
            print("Derivada cercana a cero. No se puede continuar.")
            return None
            
        xn1 = xn - f_val/df_val
        
        print(f"Iteración {n+1}: x = {xn1:.8f}, f(x) = {f(xn1):.8f}")
        
        if abs(xn1 - xn) < tol:
            print(f"\nLa raíz aproximada es: {xn1:.8f}")
            return xn1
            
        xn = xn1
        
    print("No se alcanzó la tolerancia requerida.")
    return xn

# Buscamos la raíz de f(x)=e^x - 3x empezando desde x0=1.0
x0 = 1.0
newton_raphson(x0)

2. Método de Bisección

Definición

Procedimiento iterativo que localiza una raíz de una **función continua** dividiendo repetidamente un intervalo en mitades. Aprovecha el **Teorema del Valor Intermedio**, garantizando convergencia cuando $f(a) \cdot f(b) < 0$.

Fórmula

$$x_{n} = \frac{a_n + b_n}{2}$$

Acotaciones

  • Siempre converge si la función es continua y hay un cambio de signo en los extremos del intervalo.
  • No requiere cálculo de derivadas.
  • La convergencia es lineal, por lo que es más lento comparado con métodos basados en derivadas.

2.1. Código en Python

import math

# Función a resolver: f(x) = cos(x) - x
def f(x):
    return math.cos(x) - x

def biseccion(a, b, tol=1e-6, max_iter=100):
    """
    Encuentra la raíz de f(x) en el intervalo [a, b] usando el
    método de Bisección.
    
    a, b: extremos del intervalo
    tol: tolerancia para convergencia
    max_iter: número máximo de iteraciones
    """
    if f(a) * f(b) >= 0:
        print("El método no es aplicable: f(a) y f(b) deben tener signos opuestos.")
        return None
        
    for n in range(1, max_iter+1):
        m = (a + b)/2
        fm = f(m)
        
        print(f"Iteración {n}: a={a:.6f}, b={b:.6f}, m={m:.6f}, f(m)={fm:.6f}")
        
        if abs(fm) < tol or (b - a)/2 < tol:
            print(f"\nLa raíz aproximada es: {m:.6f}")
            return m
            
        if f(a)*fm < 0:
            b = m
        else:
            a = m
            
    print("No se alcanzó la tolerancia requerida.")
    return m

# Buscamos la raíz de f(x)=cos(x)-x en el intervalo [0, 1]
a, b = 0, 1
biseccion(a, b)

3. Método de la Secante

Definición

Aproxima la raíz de una función usando la **línea secante** entre dos puntos consecutivos. Se basa en aproximar la derivada por una diferencia finita, lo que evita calcular $f'(x)$ explícitamente.

Fórmula

$$x_{n+1}=x_{n}-f(x_{n})\frac{x_{n}-x_{n-1}}{f(x_{n})-f(x_{n-1})}$$

Acotaciones

  • Convergencia superlineal si la aproximación inicial es cercana a la raíz.
  • Útil cuando la derivada es difícil de calcular, aunque es menos estable que Newton-Raphson.
  • Requiere que $f(x_{n}) \ne f(x_{n-1})$ para evitar divisiones por cero.

3.1. Código en Python

import math

# Función a resolver: f(x) = e^(-x) - x
def f(x):
    return math.exp(-x) - x

def secante(x0, x1, tol=1e-6, max_iter=100):
    """
    Aproxima la raíz de f(x) usando el método de la Secante.
    
    x0, x1: valores iniciales
    tol: tolerancia para convergencia
    max_iter: número máximo de iteraciones
    """
    for n in range(1, max_iter+1):
        f0, f1 = f(x0), f(x1)
        
        if abs(f1 - f0) < 1e-12:
            print("División por cero. No se puede continuar.")
            return None
            
        x2 = x1 - f1*(x1 - x0)/(f1 - f0)
        
        print(f"Iter {n}: x0={x0:.6f}, x1={x1:.6f}, x2={x2:.6f}, f(x2)={f(x2):.6f}")
        
        if abs(x2 - x1) < tol:
            print(f"\nLa raíz aproximada es: {x2:.6f}")
            return x2
            
        x0, x1 = x1, x2
        
    print("No se alcanzó la tolerancia requerida.")
    return x2

# Buscamos la raíz de f(x)=e^(-x)-x con valores iniciales x0=0 y x1=1
x0, x1 = 0, 1
secante(x0, x1)

4. Método de Punto Fijo

Definición

Convierte la ecuación $f(x)=0$ en la forma $x=g(x)$ y busca un **punto que permanezca invariable** bajo $g(x)$, utilizando iteraciones sucesivas.

Fórmula

$$x_{n+1}=g(x_{n})$$

Acotaciones

  • Converge si $|g'(x)| < 1$ en la vecindad de la raíz.
  • No requiere derivadas, pero depende de una buena elección de $g(x)$.
  • La convergencia puede ser lenta o no ocurrir si la función no es adecuada.

4.1. Código en Python

import math

# Función g(x) para el método de Punto Fijo
# Buscamos la raíz de x = cos(x), así que g(x) = cos(x)
def g(x):
    return math.cos(x)

def punto_fijo(x0, tol=1e-6, max_iter=100):
    """
    Aproxima la raíz de x = g(x) usando el método de Punto Fijo.
    
    x0: valor inicial
    tol: tolerancia para convergencia
    max_iter: número máximo de iteraciones
    """
    # Se corrigió el f-string para alinear la cabecera
    print(f"{'Iter':<5}{'x':<12}{'g(x)':<12}{'Error':<12}")
    print("-"*45)
    
    for n in range(1, max_iter+1):
        x1 = g(x0)
        error = abs(x1 - x0)
        
        print(f"{n:<5}{x1:<12.8f}{g(x1):<12.8f}{error:<12.8f}")
        
        if error < tol:
            print(f"\nLa raíz aproximada es: {x1:.8f}")
            return x1
            
        x0 = x1
        
    print("No se alcanzó la tolerancia requerida.")
    return x1

# Valor inicial distinto para mostrar convergencia desde otro punto
x0 = 0.7
punto_fijo(x0)

5. Método de Regula Falsi (Falsa Posición)

Definición

Método que combina la bisección con **interpolación lineal** para encontrar raíces de funciones continuas. Asegura que siempre exista un cambio de signo en el intervalo seleccionado.

Fórmula

$$x_{n} = a_n - f(a_n)\frac{b_n - a_n}{f(b_n) - f(a_n)}$$

Acotaciones

  • Más rápido que la bisección para funciones que cambian de signo pronunciadamente.
  • Mantiene siempre un intervalo que contiene la raíz.
  • Puede converger lentamente si la función es casi lineal en el intervalo.

5.1. Código en Python

import math

# Función a resolver: f(x) = x^3 - 2x - 5
def f(x):
    return x**3 - 2*x - 5

def regula_falsi(a, b, tol=1e-6, max_iter=100):
    """
    Encuentra la raíz de f(x) en [a,b] usando el método Regula Falsi.
    
    a, b: extremos del intervalo
    tol: tolerancia para convergencia
    max_iter: número máximo de iteraciones
    """
    if f(a)*f(b) >= 0:
        print("No se cumple el teorema del valor intermedio.")
        return None

    # Se corrigió el f-string para alinear la cabecera
    print(f"{'Iter':<5}{'a':<12}{'b':<12}{'x':<12}{'f(x)':<12}")
    print("-"*55)
    
    for n in range(1, max_iter+1):
        # Fórmula de Regula Falsi
        x = b - f(b)*(a - b)/(f(a) - f(b))
        fx = f(x)
        
        print(f"{n:<5}{a:<12.6f}{b:<12.6f}{x:<12.6f}{fx:<12.6f}")
        
        if abs(fx) < tol:
            print(f"\nLa raíz aproximada es: {x:.6f}")
            return x
            
        if f(a)*fx < 0:
            b = x
        else:
            a = x
            
    print("No se alcanzó la tolerancia requerida.")
    return x

# Buscamos la raíz de f(x)=x^3-2x-5 en el intervalo [2, 3]
a, b = 2, 3
regula_falsi(a, b)