Análisis numérico y de algoritmosclave: IMCTV 309
Enviado por Cristian Romero • 28 de Abril de 2023 • Apuntes • 820 Palabras (4 Páginas) • 146 Visitas
CESCIJUC[pic 1]
INGENIERÍA EN MECATRÓNICA
MATERIA: ANALISIS NUMERICO Y DE ALGORITMOSCLAVE: IMCTV 309
GRUPO: MCV03DO01
PLANTEL ECATEPEC
Tercer Cuatrimestre
Alumno: Cristian Braulio Romero Ordoñez Matricula: V2202ECAIMV0001
ÍNDICE
Tarea 1 página 3 a 4
Tarea 2 página 5 a 6
Tarea 3 página 8
Tarea 4 pagina 9
Tarea 1 resolver la ecuacion lineal por metodo de punto fijo
import matplotlib.pyplot as plt
import pandas as pd
import math
# funcion
gx = lambda x: (0.5*math.sin(x)-x+1)
gp = lambda x: (0.5*math.sin(x)+1)
# como se almacenan los valores
ng = []
x1g = []
gxg = []
eag = []
# metodo de punto fijo
x1 = 1.5
tolera = 0.00001
# contador de iteracion
n = 0
# PROCEDIMIENTO
porsentaje = 100
while not (porsentaje < tolera):
n += 1
x2 = gp(x1)
porsentaje = abs((x2 - x1) / x2) * 100
x1g.append(x1)
gxg.append(x2)
eag.append(porsentaje)
ng.append (n)
x1 = x2
if porsentaje > 200 or abs (gx(x1) ) > 1 :
break
# colocar en forma de tablas para facil visualización con pandas
mydataset = {
'iteracion': ng,
'x': x1g,
'gx': gxg,
'ea': eag
}
# SALIDA
print(' raiz en: ', x1)
print('error en porsentaje: ', porsentaje)
print(x1- gx(x1))
# imprimir en pantalla la tabla de valores
df = pd.DataFrame(mydataset)
print(df)
#programa para graficar funciones
#import matplotlib.pyplot as plt
# funcion
fx = lambda x: (0.5*math.sin(x)-x+1)
xg =[]
fg =[]
for i in range(150 + 1):
xg.append( -4 + i*0.1 )
fg.append(fx(-4 + i*0.1))
plt.plot(xg,fg)
plt.grid("true")
plt.show()
raiz en: 1.4987011356830426
error en porsentaje: 3.8667994723651895e-06
1.4987011377702544
iteracion x gx ea
0 1 1.500000 1.498747 0.083570
1 2 1.498747 1.498703 0.002982
2 3 1.498703 1.498701 0.000107
3 4 1.498701 1.498701 0.000004
Grafica
[pic 2]
import matplotlib.pyplot as plt
import pandas as pd
import math
# funcion
gx = lambda x: (2*x**2-x-5)
gp = lambda x: (2*x**2-5)
# como se almacenan los valores
ng = []
x1g = []
gxg = []
eag = []
# metodo de punto fijo
x1 = 2
tolera = 0.01
# contador de iteracion
n = 0
# PROCEDIMIENTO
porsentaje = 100
while not (porsentaje < tolera):
n += 1
x2 = gx(x1)
porsentaje = abs((x2 - x1) / x2) * 100
x1g.append(x1)
gxg.append(x2)
eag.append(porsentaje)
ng.append (n)
x1 = x2
if porsentaje > 200 or abs (gp(x1) ) > 1 :
break
# colocar en forma de tablas para facil visualización con pandas
mydataset = {
'iteracion': ng,
'x': x1g,
'gx': gxg,
'ea': eag
}
# SALIDA
print(' raiz en: ', x1)
print('error en porsentaje: ', porsentaje)
print(x1- gx(x1))
# imprimir en pantalla la tabla de valores
df = pd.DataFrame(mydataset)
print(df)
#programa para graficar funciones
#import matplotlib.pyplot as plt
# funcion
fx = lambda x: (2*x**2-x-5)
xg =[]
fg =[]
for i in range(150 + 1):
xg.append( -4 + i*0.1 )
fg.append(fx(-4 + i*0.1))
plt.plot(xg,fg)
plt.grid("true")
plt.show()
...