ECUACIONES POLINOMICAS EN R Y PYTHON.

Resolver la ecuacion \(-4x^3-6x^2-4x+1=0\)

coef=c(1,-4,-6,-4)
polyroot(coef)
## [1]  0.1893984+0.0000000i -0.8446992+0.7787506i -0.8446992-0.7787506i
c=c(-4,6,-4,1)
polyroot(c)
## [1] 1+1i 1-1i 2-0i
import numpy as np
p=[1,-4,6,-4]
np.roots(p)
## array([2.+0.j, 1.+1.j, 1.-1.j])
coef=c(-3,30,12,8)
round(polyroot(coef),15)
## [1]  0.09607164+0.000000i -0.79803582+1.807339i -0.79803582-1.807339i
coef=[8,12,30,-3]
np.roots(coef)
## array([-0.79803582+1.80733949j, -0.79803582-1.80733949j,
##         0.09607164+0.j        ])
p=[1,0,-6,-6]
np.roots(p)
## array([ 2.8473221 +0.j      , -1.42366105+0.283606j,
##        -1.42366105-0.283606j])

ECUACIONES NO POLINOMICAS EN R Y PYTHON.

# Definir la función
f <- function(x) sin(x) + x^2 - 3

# Encontrar la raíz en un intervalo dado
root <- uniroot(f, interval = c(0, 2))

# Mostrar la raíz encontrada
root$root
## [1] 1.41831
x=seq(1:10)
f(x)
##  [1] -1.158529  1.909297  6.141120 12.243198 21.041076 32.720585 46.656987
##  [8] 61.989358 78.412118 96.455979
fx=as.data.frame(f(x))
#install.packages("nleqslv")
library(nleqslv)
## Warning: package 'nleqslv' was built under R version 4.3.2
# Definir la función
f <- function(x) cos(x) - x^3 + 2*x - 1

# Encontrar la raíz cerca de un punto inicial
solution <- nleqslv(x = 0, fn = f)

# Mostrar la solución encontrada
solution$x
## [1] 0
# Definir la función objetivo
f <- function(x) abs(sin(x) + x^2 - 3)

# Optimizar para encontrar el mínimo
solution <- optim(par = 1, fn = f)
## Warning in optim(par = 1, fn = f): one-dimensional optimization by Nelder-Mead is unreliable:
## use "Brent" or optimize() directly
# La raíz está en el punto donde la función se minimiza (idealmente cero)
solution$par
## [1] 1.41831
import numpy as np
from scipy.optimize import fsolve

# Definir la función
def func(x):
    return np.sin(x) + x**2 - 3

# Resolver la ecuación
sol = fsolve(func, x0=1)  # x0 es el punto de inicio para la búsqueda

print("La solución es:", sol)
## La solución es: [1.41831009]
import numpy as np
from scipy.optimize import root

# Definir la función
def func(x):
    return np.sin(x) + x**2 - 3

# Resolver la ecuación usando root
sol = root(func, x0=1)  # x0 es el punto inicial

print("La solución es:", sol.x)
## La solución es: [1.41831009]
print("La solución es:", sol.x)
## La solución es: [1.41831009]