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

Paquete SciPy: Integración numérica y ecuaciones diferenciales ordinarias, Ejercicios de Metodología de Investigación

Una introducción al paquete scipy de python, con énfasis en las funciones relacionadas con la integración numérica y las ecuaciones diferenciales ordinarias (edos). Se muestra cómo utilizar las funciones quad, odeint y root para resolver problemas de integración y ecuaciones no lineales respectivamente. Además, se importan y se utilizan numpy y matplotlib.

Qué aprenderás

  • ¿Cómo se resuelven ecuaciones diferenciales ordinarias (EDOs) con la función odeint del paquete SciPy?
  • Cómo se utiliza la función quad del paquete SciPy para la integración numérica?
  • ¿Cómo se buscan los ceros de una función no lineal utilizando la función root del paquete SciPy?

Tipo: Ejercicios

2019/2020

Subido el 27/09/2021

hi-im-adc
hi-im-adc 🇨🇴

4 documentos

1 / 3

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
In [ ]:
print("SciPy")
In [ ]:
print("Conjunto de paquetes para computación científica general")
print("Integración, optimización, interpolación, procesamiento de señales digitales, estadís
ticas...")
print("Normalmente interfaces a programas muy utilizados escritos en Fortran, o C++")
In [1]:
%matplotlib inline
In [2]:
importimport numpynumpy asas npnp
importimport matplotlib.pyplotmatplotlib.pyplot asas pltplt
In [ ]:
print("Integración numérica")
In [3]:
fromfrom scipyscipy importimport integrate
In [4]:
defdef f(x):
returnreturn np.exp(-x ** 2)
In [ ]:
"Y ahora simplemente utilizamos la función quad, que recibe como argumentos la función y los
límites de integración."
In [5]:
integrate.quad(f, 0, 5)
In [6]:
defdef f(x, A, B):
returnreturn A * np.exp(-B * x ** 2)
In [7]:
integrate.quad(f, 0, 5, args=(1.0, 1.0))
In [ ]:
"Ecuaciones diferenciales ordinarias (EDOs)"
In [ ]:
Out[5]:
(0.8862269254513955, 2.3183115139669666e-14)
Out[7]:
(0.8862269254513955, 2.3183115139669666e-14)
pf3

Vista previa parcial del texto

¡Descarga Paquete SciPy: Integración numérica y ecuaciones diferenciales ordinarias y más Ejercicios en PDF de Metodología de Investigación solo en Docsity!

In [ ]: print("SciPy") In [ ]: print("Conjunto de paquetes para computación científica general") print("Integración, optimización, interpolación, procesamiento de señales digitales, estadís ticas...") print("Normalmente interfaces a programas muy utilizados escritos en Fortran, o C++") In [1]: %matplotlib inline In [2]: import import numpynumpy asas npnp import import matplotlib.pyplotmatplotlib.pyplot asas pltplt In [ ]: print("Integración numérica") In [3]: from from scipyscipy importimport integrate In [4]: def def f(x): return return np.exp(-x ** 2 ) In [ ]: "Y ahora simplemente utilizamos la función quad, que recibe como argumentos la función y los límites de integración." In [5]: integrate.quad(f, 0 , 5 ) In [6]: def def f(x, A, B): return return A * np.exp(-B * x ** 2 ) In [7]: integrate.quad(f, 0 , 5 , args=(1.0, 1.0)) In [ ]: "Ecuaciones diferenciales ordinarias (EDOs)" Out[5]: (0.8862269254513955, 2.3183115139669666e-14) Out[7]: (0.8862269254513955, 2.3183115139669666e-14)

In [ ]: "Dentro del paquete integrate tenemos también funciones para resolver ecuaciones diferencial es ordinarias (EDOs), como es el caso de la función odeint. Esta función puede resolver cual quier sistema del tipo:" In [8]: def def f(y, t): return return - y In [9]: y0 = 1. In [10]: t = np.linspace( 0 , 3 ) In [11]: sol = integrate.odeint(f, y0, t) In [12]: plt.plot(t, sol) In [13]: def def f(y, t): return return np.array([y[ 1 ], - y[ 0 ]]) In [14]: t = np.linspace( 0 , 10 ) In [15]: y0 = np.array([1.0, 0.0]) In [16]: sol = integrate.odeint(f, y0, t) In [17]: plt.plot(t, sol[:, 0 ], label='$y$') Out[12]: [<matplotlib.lines.Line2D at 0x2085f996640>]