Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Derivacion Numerica en Python, Ejercicios de Métodos Numéricos

Codigo para realizar derivacion numerica en Jupyter Python

Tipo: Ejercicios

2022/2023

Subido el 06/12/2023

carlos-fabricio-endara-toalombo
carlos-fabricio-endara-toalombo 🇪🇨

3 documentos

1 / 1

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Métodos Numéricos
Fabricio Endara
Derivación Numérica
Para ingresar función [1] ó para una tabla de datos [2]: 2
Ingrese el número de datos:4
Ingrese los datos para X
Ingrese el dato 1: 1
Ingrese el dato 2: 3
Ingrese el dato 3: 5
Ingrese el dato 4: 7
Tabla x: [1. 3. 5. 7.]
Ingrese los datos para Y
Ingrese el dato 1: 10
Ingrese el dato 2: 14
Ingrese el dato 3: 18
Ingrese el dato 4: 22
Tabla x: [10. 14. 18. 22.]
Ingrese el grado de la derivada que desea calcular: 1
Ingrese el punto donde desea calcular la derivada: 3
Derivada con la fórmula centrada es: 2.0
In [70]:
import numpy as np
import sympy
from sympy import *
import math
x = sympy.symbols('x')
## Función o tabla de datos
o=int(input('Para ingresar función [1] ó para una tabla de datos [2]: '))
## Ingreso de datos
if o==2:
n=int(input('Ingrese el número de datos:'))
x=np.zeros(n)
y=np.zeros(n)
print('Ingrese los datos para X')
for i in range (n):
x[i]=float(input('Ingrese el dato %d: '% (i+1)))
dx=np.array(x)
print('Tabla x:',dx)
print('Ingrese los datos para Y')
for i in range (n):
y[i]=float(input('Ingrese el dato %d: '% (i+1)))
dy=np.array(y)
print('Tabla x:',dy)
## Determinación de h ó incremento
h=abs(x[0]-x[1])
if o==1:
fx=input('Ingrese la función: ')
fx=sympy.sympify(fx)
print("Función ingresada:")
print(sympy.pretty(fx))
dfx=fx.diff(x)
h=1 ## valor para h o incrementos
print(dfx)
## Derivación
if o==2:
d=int(input('Ingrese el grado de la derivada que desea calcular: '))
pt=int(input('Ingrese el punto donde desea calcular la derivada: '))
pt=pt-1
if pt==0: ## Progresiva
p=int(x[pt])
a=int(pt+1)
pt2=int(x[a])
xh=int(y[a])
x1=int(y[pt])
xh2=int(y[2])
dp=float((xh-x1)/h)
print('Derivada con la fórmula progresiva es:', dp)
if (pt==n-1): ##Regresiva
p=int(x[pt])
a=int(pt)
pt2=int(x[a])
xh=int(y[a-1])
x1=int(y[pt])
xh2=int(y[2])
dp=float((x1-xh)/h)
print('Derivada con la fórmula regresiva es:', dp)
else: ##Centrada
p=int(x[pt])
a=int(pt)
pt2=int(x[a])
xh=int(y[a-1])
xh2=int(y[a+1])
dp=float((xh2-xh)/(2*h))
print('Derivada con la fórmula centrada es:', dp)
if o==1:
d=int(input('Ingrese el grado de la derivada que desea calcular: '))
q=int(d+h)
dp=float(fx.subs(x,q)-fx.subs(x,d)/h)
dp=sympy.pretty(dp)
print('Derivada con la primera fórmula:',dp)
dp2=float(-fx.subs(x,q+1)+(4*(fx.subs(x,q)))-(3*(fx.subs(x,d)))/(2*h))
dp2=sympy.pretty(dp2)
print('Derivada con la segunda fórmula:',dp2)
In [ ]:

Vista previa parcial del texto

¡Descarga Derivacion Numerica en Python y más Ejercicios en PDF de Métodos Numéricos solo en Docsity!

Métodos Numéricos Fabricio Endara Derivación Numérica

Para Ingrese Ingrese Ingrese Ingrese Ingrese Ingrese Tabla Ingrese Ingrese Ingrese ingresar x: elloselelelel (^) loselel[1. número (^) datodatodatodato (^) datodatodatos (^) datos (^) 3.función 1:2:3:4:5.1:2: depara (^) para 1357 7.] 1014 datos:4[1] XY ó para una tabla de datos [2]: 2 Ingrese Ingrese Tabla Ingrese Ingrese Derivada x: elel (^) elel [10.con datodatogradopunto la14. 3:4: (^) fórmula (^) dedonde (^) 18. (^1822) la 22.] derivadadesea centrada calcular que es: desea 2.0la derivada:calcular: 31

In [70]:^ import import from import x ## o ## if (^) == (^) int (^) FunciónIngreso o (^) sympy == n xsympy( ==^ input (^2) intnpnumpysympymath: .. (zeros (^) symbols (^) input import o ( de^ (^) 'Para as tabla datos (^ (nnp'Ingrese) (^) ( ***** 'x' (^) ingresar de ) datos el función número [1]de datos:'ó para (^) ))una tabla de datos [2]: ')) y print for dx print print for dy print = np == (^) np (^) np. i xi yzeros( (^) [. (( (^) [. ('Ingrese in iarray'Tabla'Ingrese in iarray'Tabla]] (^) = (^) = rangefloatrangefloat(n(()x (^) y )x:')x:' (^) ( (^) (los(inputlos(inputn,n,):dx):dy datosdatos))(('Ingrese'Ingrese parapara X'elY'el) (^) ) datodato %d%d:: '' %% ((ii ++ 11 )))))) if ## (^) o Derivación^ ##^ h == fx fx print print dfx h print ==^ abs (^1) == 1 Determinación :inputsympy = fx ## ((((x"Funciónsympy. (^) dfx[diff valor^0 (. ]'Ingresesympify) - x. ([prettyx^1 ) para ]) ingresada:"^ ( de (^) fx la( h^ )fx h (^) o^ función:)) óincrementos^ incremento ) ') if o == d pt pt if= (^2) int == :intptpt p a pt2 xh x1 xh2( - ==== input( (^1) intint == input (^0) = intint = :intint (^) (( ## xpt((([(yy('Ingrese( (^) pt + x[[y'Ingrese Progresiva (^1) [apt[]))a]) 2 ])])]) el el grado punto de donde la derivada desea calcular que desea la calcular:derivada: '')))) if (^ dp^ printpt p a pt2 xh x1 xh2 dp print ===== intint === float = intint = floatnintint( - ((('Derivada (^1) xpt(('Derivada):[(yy(((pt)x[[y(( (^) [apt[xh ##Regresiva ])a - (^2) x1]) (^1) ])]) - ]) - x1xh^ )) / con / conhh))^ lala^ fórmulafórmula^ progresivaregresiva es:'es:',, dpdp)) if o^ else== d q == (^1) intint::^ p^ a^ pt2^ xh^ xh2^ dp^ print^ == (( ##Centrada intint == inputd = int = float + intinth((()xpt('Derivada[(y((pt)x[y(('Ingrese[a[])a - axh2])^1 + ])^1 ]) - xh^ )con / el(^2 ***** lagradoh^ ))fórmula de la^ centrada derivada^ es:' que, deseadp) calcular: ')) dp dp print dp2 dp2 print == floatsympy == floatsympy(('Derivada'Derivada(. fxpretty( .- pretty. fxsubs. subs( (dpcon(conxdp2,)( qx)la,)la - qfx (^) + primera (^1) segunda. )subs + ( 4 ***** ((x (^) fx ,fórmula:'fórmula:'d. )subs / h)(x,,,qdp)))dp2) - )( 3 ***** (fx. subs(x,d))) / ( 2 ***** h)) In [ ]: