Está en la página 1de 20

Tema-4.

pdf

Anónimo

Física Computacional

3º Grado en Física

Facultad de Ciencias Físicas


Universidad Complutense de Madrid

Reservados todos los derechos.


No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Tema-4

December 26, 2021

Física Computacional
1 Tema 4: Interpolación y extrapolación.
• Generalmente los experimentos sólo proporcionan un conjunto discreto de datos ( xi , f i ) que
representan el valor de una función en un conjunto finito de argumentos { x0 , · · · , xn }.

• Si puntos adicionales son necesarios, por ejemplo para representar la función o usarla como
argumento de otra, necesitamos interpolar ese conjunto discreto de datos.

• La interpolación es por tanto necesaria para representar una función complicada por una
más simple o para poder integrarla o derivarla.

• De forma general, dada una muestra de N + 1 puntos ( xi , f i ) con i = 0, · · · N y una función


de x que depende de M + 1 parámetros ci

Φ( x; c0 , · · · , c M )
el problema consiste en encontar el valor de los coeficientes ci satisfaciendo que:

Φ ( x i ; c0 , · · · , c M ) = f i , con i = 0, · · · , N.

[2]: display(Image(filename="int_ex.png", width=600, height=600))

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
• Si M > N, nuestra función (forma funcional) tiene demasiados parámetros.

• Si M < N, en general no hay solución a el problema, por lo que uno tiene que aproximar en
vez de interpolar.
En general se suele hacer por medio del método de los mínimos cuadrados, o del χ2 .
Son los problemas de minimización que estudiaremos en el Tema 5.

• Si M = N, el problema tiene solución única. Es el llamado problema de interpolación que


vamos a estudiar en este Tema.

• Nos vamos a centrar en la interpolación líneal, donde la función Φ( x ) cumple

N
Φ( x ) = ∑ c i Φ i ( x ),
i =0

• En particular nos centraremos en la interpolaciónpor medio de polinomios,

N
Φ( x ) = ∑ c i x i ( x ),
i =0

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
Física Computacional
Banco de apuntes de la
• Splines cúbicos

N −1 3
Φ( x ) = ∑ s i ( x ) Θ ( x − x i ) Θ ( x i +1 − x ) , con si ( x ) = ∑ cij (x − xi ) j

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
i =0 j =0

• Aproximaciones racionales: aproximantes de Padé

n1
∑ ci x i
i =0
Φ( x ) = n2 , con n1 + n2 = N − 1
∑ di x i
i =0

• La interpolación trigonométrica, el análisis de Fourier,

N
Φ( x ) = ∑ ci e i n x ,
n =0

será estudiado en el Tema 6.

1.1 4.1 Interpolación polinómica.


1.1.1 4.1.1 Interpolando dos puntos.
• Asumamos que conocemos la función f ( x ) en sólo dos puntos a y b y que necesitamos eval-
uarla en un punto entre medias.
• Hay infinitas formas de hacerlo, pero la más sencilla es asumir que la curva que las conecta
es una línea recta.

f (b) − f ( a)
f ( x ) ≃ pl ( x ) = f ( a) + ( x − a ),
b−a
es la interpolación líneal.
[1]: from IPython.display import Image,display
display(Image(filename="int_lin.png", width=600, height=600))

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
• Una vez asumida la forma funcional de la curva, esta puede ser usada fuera del intervalo
[ a, b], es decir, puede ser extrapolada.
• Por supuesto, cuanto más lejos uno se separa del intervalo más error tendrá asociado la
extraplación.

Error en la interpolación líneal

• Para analizar cuan bien estamos describiendo la curva tanto dentro como fuera del intervalo
inicial, expandamos el valor de la función en a y b en serie Taylor.

1
f ( a) = f ( x ) + ( x − a) f ′ ( x ) + ( x − a)2 f ′′ ( x ) + O( x − a)3 ,
2
1
f (b) = f ( x ) + (b − x ) f ′ ( x ) + (b − x )2 f ′′ ( x ) + O(b − x )3 ,
2
• Introduciendo ambas expansiones en la formula de la interpolación líneal:

f ( x ) = p( x )l + ( x − a)( x − b) f ′′ ( x ) + · · ·
tomando b − a = h, el error esta por tanto acotado por

h2 ′′
ϵ< | f ( x )|.
4

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
1.1.2 4.1.2: Interpolación polinómica de grado arbitrario.
• Ya vimos en el Tema 3 que el polinomio de Lagrange

N N N x − xj
L( x, f ) = ∑ f ( x i ) li ( x ) = ∑ f ( x i ) ∏ xi − x j
,
i =1 i =1 j=1
j ̸= i
es el único polinomio de orden N − 1 que interpola (coincide con) la función f en los puntos
xi con i = 1, · · · , N.

• El problema reside en que obtener L(x,f) requiere realizar O( N 2 ) operaciones.


• Definiendo el polinomio:

N
ω(x) = ∏ ( x − x i ),
i =1
la base de polinomios de Lagrange puede escribirse como:

ω(x) 1 ui
li ( x ) = = ω(x) ,
x − xi ∏ N ( xi − x j ) x − xi
j=1
j ̸= i
donde
N
1
ui = ∏ ( xi − x j )
j=1
j ̸= i
son los llamados pesos bariocéntricos, que al ser independientes de x, pueden calcularse
sólo una vez.

• De esta forma, el interpolador de Lagrange puede escribirse como

N
ui
L( x, f ) = ω ( x ) ∑ f ( xi ) ,
i =1
x − xi
que aún involucra O( N 2 ) operaciones. Sin embargo, interpolando f(x)=1, se obtiene:
N
ui
L( x, 1) = ω ( x ) ∑ ,
i =1
x − xi
y por tanto:
N
ui
L( x, f )
∑ f ( xi ) x − xi
i =1
L( x, f ) = = ,
L( x, 1) N
ui
∑ x − xi
i =1
que permite obtener la función de interpolación con sólo N operaciones.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Fenómeno de Runge.
• Uno puede pensar que al aumentar el grado del polinomio la precisión de la interpolación
aumenta.
• Sin embargo, no es el caso: un polinomio de grado alto involucra grandes fluctuaciones que

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
se amplifican en los extremos del intervalo.
Ejercicio 4.1: Estudiar la interpolación polinómica de la función de Runge:

1
f (x) =
1 + 25x2
en el intervalo [-1,1] usando polinomios de grado N = 10, · · · , 15.
[1]: from numpy import linspace
from numpy.polynomial import Polynomial
from matplotlib.pyplot import plot,show

# Definimos nuestra función de runge

def runge_function(x):
return 1/(1+25*x**2)

# Creamos los pesos bariocéntricos

def runge_u(N):
xp=linspace(-1,1,N)

uu=[1 for i in range(N)]

for i in range(N):
for j in [z for z in range(N) if z != i]:
uu[i]/=(xp[i]-xp[j])
return uu

# Creamos nuestra función de interpolación polinómica de runge

def runge_interpol(x,uu,N):

xp=linspace(-1,1,N)
LN=0
LD=0

for i in range(N):
if (x==xp[i]):
return runge_function(xp[i])
break

LN+=runge_function(xp[i])*uu[i]/(x-xp[i])
LD+=uu[i]/(x-xp[i])

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
return LN/LD

# Comprobamos nuestra función, y su interpolación polinomica en 100 puntos

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
x=linspace(-1,1,100)
plot(x,runge_function(x))

for k in range(10,12):

# calculamos los pesos bariocéntricos para un valor de N


uu=runge_u(k)

# Para un valor de N (k) dado


# calculamos todos los puntos de la interpolación para los 100 puntos ␣
֒→

p=[runge_interpol(i,uu,k) for i in x]
plot(x,p)

# finalmente representamos como punto rojos los k puntos


# donde la función de interpolación coincide con la función de runge

xp=linspace(-1,1,k)
plot(xp,runge_function(xp),"ro")

show()

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
Que ocurre con la extrapolación?
[92]: xpoints=linspace(-1.2,1.2,100)
plot(xpoints,runge_function(xpoints))

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
x=linspace(-1.2,1.2,100)
for k in range(10,11):
p=[runge_interpol(i,k) for i in x]
plot(x,p)
show()

• El error de la extrapolación polinómica incrementa dramáticamente cuando uno se aleja del


intervalo!

1.2 4.2: Splines


• La interpolación polinómica funciona bien para intervalos pequeños, polinomios de grado
bajo.

• Sin embargo no funciona bien en intervalos grandes (para un gran número de puntos) y un
grado alto.

• Los splines hacen uso de este hecho:

– Para cada uno de los sub intervalos definidos por los puntos en los que conocemos la
función.
– Usamos un polinomio de grado bajo para interpolar esos dos puntos.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
• Es decir, representan un ajuste de la curva inicial “a trozos” (piecewise) por medio de poli-
nomios.

• El caso más sencillo es un spline lineal:

f ( x i +1 ) − f ( x i )
f ( x ) ≃ si ( x ) siendo si ( x ) = f ( xi ) + ( x − xi ) con x i ≤ x < x i +1 .
x i +1 − x i

• Sin embargo, el caso más habitual (y el que en general funciona mejor) es el spline cúbico:

3
f ( x ) ≃ si ( x ) siendo si ( x ) = ∑ aij (x − xi ) j con x i ≤ x < x i +1
j =0

• Si conocemos la función en N + 1 puntos, necesitamos construir un polinomio de orden 3 en


N intervalos.

• Por tanto, necesitamos fijar 4 N grados de libertad.

1. Conocemos la funcion en N + 1 puntos.


2. Los diferentes polinomios deben ser continuos, y tener una primera y segunda derivada
continua en los puntos intermedios. Es decir:

s i ( x i +1 ) = s i +1 ( x i +1 ) , ∀i ∈ {1, N − 1},
si′ ( xi+1 ) =si′+1 ( xi+1 ), ∀i ∈ {1, N − 1},
si′′ ( xi+1 ) =si′′+1 ( xi+1 ), ∀i ∈ {1, N − 1},
(1)

que implican N + 1 + 3( N − 1) = 4N − 2 condiciones.

3. Faltan dos grados de libertar por determinar que se suelen fijar imponiendo condi-
ciones de contorno (condiciones para el punto inicial y final):
– Condiciones naturales: s1′′ ( x1 ) = s′′n−1 ( xn ) = 0.
– Condiciones periodicas: s1′ ( x1 ) = s′n−1 ( xn ) y s1′′ ( x1 ) = s′′n−1 ( xn ).
– Valores de frontera: s1′ ( x1 ) = r1 , y s′n−1 ( xn ) = r2.

1.2.1 4.2.1 Algoritmo para determinar los coeficientes de un spline cúbico.


• La segunda derivada del spline es una función lineal:

si′′ ( x ) = 2 ai2 + 6 ai3 ( x − xi ),

por tanto, teniendo en cuenta que si′′ ( xi ) = 2 ai2 , podemos escribir:

si′′ ( x ) = si′′ ( xi ) + 6 ai3 ( x − xi ),

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
• Por otro lado, la ecuación de continuidad para la segunda derivada implica:

si′′+1 ( xi+1 ) − si′′ ( xi )

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
si′′ ( xi+1 ) = si′′ ( xi ) + 6 ai3 ( xi+1 − xi ) = si′′+1 ( xi+1 ), ⇒ 6 ai3 = ,
x i +1 − x i
y por tanto:

si′′+1 ( xi+1 ) − si′′ ( xi )


si′′ ( x ) = si′′ ( xi ) + ( x − xi )
x i +1 − x i
x − xi x −x
= si′′+1 ( xi+1 ) + si′′ ( xi ) i+1 , (2)
x i +1 − x i x i +1 − x i

• Si hacemos la integral indefinida de si′′ ( x ) con respecto a x obtenemos:

( x − x i )2 ( x − x )2
si′ ( x ) = si′′+1 ( xi+1 ) − si′′ ( xi ) i+1 + αi ,
2 ( x i +1 − x i ) 2 ( x i +1 − x i )
( x − x i )3 ( x − x )3
si ( x ) = si′′+1 ( xi+1 ) + si′′ ( xi ) i+1 + αi ( x − xi ) + β i ,
6 ( x i +1 − x i ) 6 ( x i +1 − x i )
(3)

• Sin embargo, teniendo en cuenta las condiciones de la interpolación, si ( xi ) = f ( xi ) y


si ( xi+1 ) = f ( xi+1 ) tenemos que

1
si ( xi ) = si′′ ( xi ) ( xi+1 − x )2 + β i = f ( xi )
6
1 ′′
s i ( x i +1 ) = s i +1 ( x i +1 ) ( x i +1 − x ) 2 + α i ( x i +1 − x i ) + β i = f ( x i +1 ) ,
6
y por tanto:

1
β i = f ( xi ) − si′′ ( xi ) ( xi+1 − x )2 ,
6
f ( xi+1 ) − f ( xi ) xi+1 − xi ′′
si+1 ( xi+1 ) − si′′ ( xi ) .

αi = − (4)
x i +1 − x i 6

• Comparando con la definición incial de nuestro spline:

3
si ( x ) = ∑ aij (x − xi ) j ,
j =0

obtenemos por tanto que:

10

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
ai0 = f ( xi ),
f ( xi+1 ) − f ( xi ) xi+1 − xi ′′

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
si+1 ( xi+1 ) + 2si′′ ( xi ) ,

ai1 = −
x i +1 − x i 6
s′′ ( xi )
ai2 = i , (5)
2
s ( xi+1 ) − si′′ ( xi )
′′
ai3 = i +1 . (6)
6 ( x i +1 − x i )

• Sólo nos queda determinar el valor de las segundas derivadas de los splines si′′ ( xi ).
Cosa que podemos hacer explotando la única condición de continuidad que nos queda por
usar: si′−1 ( xi ) = si′ ( xi ).

1 f ( xi ) − f ( xi−1 ) xi − xi−1 ′′
si′−1 ( xi ) = si′′ ( xi ) ( xi − xi−1 ) + si ( xi ) − si′′−1 ( xi−1 )


2 x i − x i −1 6
1 f ( xi+1 ) − f ( xi ) xi+1 − xi ′′
= − si′′ ( xi ) ( xi+1 − xi ) + si+1 ( xi+1 ) − si′′ ( xi ) = si′ ( xi ),


2 x i +1 − x i 6

que nos permite encontrar la relación:

1 ′′ 1 1 f ( x i +1 ) − f ( x i ) f ( x i ) − f ( x i −1 )
s ( xi−1 ) ( xi − xi−1 ) + si′′ ( xi ) ( xi+1 − xi−1 ) + si′′+1 ( xi+1 ) ( xi+1 − xi ) = − ,
6 i −1 3 6 x i +1 − x i x i − x i −1

que proporciona un sistema lineal de ecuaciones para obtener si′′ ( xi ).

• Llamando:

x i +1 − x i
µi = ,
x i +1 − x i −1
x i − x i −1
νi = ,
x i +1 − x i −1
 
6 f ( x i +1 ) − f ( x i ) f ( x i ) − f ( x i −1 )
λi = − , (7)
x i +1 − x i −1 x i +1 − x i x i − x i −1

• el sistema de ecuaciones se simplifica a

νi si′′−1 ( xi−1 ) + 2 si′′ ( xi ) + µi si′′+1 ( xi+1 ) = λi , con i = 1, · · · , n − 1

• Aplicando condiciones de contorno naturales uno encuentra que:

µ0 = 0, νn = 0, λ0 = λn = 0,
que implica escribir el sistema de ecuaciones

11

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
2 0
 
 
 
 ν1 2 µ1 

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
    
  0 0
  s′′ ( x1 )
 
 ν2 2 µ2 1
  λ1 
  s′′ ( x2 )
    

2
  λ2 
= (8)
    
 .. .. ..   .. .. 
 . . .   .   . 
  s′′ ( xn−1 )
    
   λ n −1 
  n −1

 νn−1 2  0 0
 µ 
 n −1 
 0 
2
que aprenderemos a resolver en tema 5.
Ejericio 4.2: Estudiar la interpolación por medio de splines cúbicos de la función de Runge:

1
f (x) =
1 + 25x2
en el intervalo [-1,1] usando N = 10, · · · , 15 intervalos (N + 1 puntos).
Ayuda: para resolver el sistema de ecuaciones para las derivadas segundas tener en cuenta que
el módulo linalg del páquete numpy incluye la función inv, que calcula la inversa de una matriz.
[76]: from numpy import linspace,zeros,dot
from numpy.linalg import inv

def spline_runge(x,N):

xp=linspace(-1,1,N+1)
fp=runge_function(xp)

# 1- extraemos las derivadas segundas de nuestro problema con condiciones␣


֒→ de contorno naturales

# Inicializamos todas las matrices para el problema

mu=zeros([N+1],float) # matriz mu
nu=zeros([N+1],float) # matriz nu
lan=zeros([N+1],float) # matriz lan
M=zeros([N+1,N+1],float) # matriz que tenemos que invertir
s2=zeros([N+1],float) # matriz de derivadas segundas

for i in range(1,N):
mu[i]=(xp[i+1]-xp[i])/(xp[i+1]-xp[i-1])
nu[i]=(xp[i]-xp[i-1])/(xp[i+1]-xp[i-1])
lan[i]=6/(xp[i+1]-xp[i-1])*((fp[i+1]-fp[i])/
֒→(xp[i+1]-xp[i])-(fp[i]-fp[i-1])/(xp[i]-xp[i-1]))

# Definimos nuestra matrix M

12

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
M[i,i-1]=mu[i]
M[i,i]=2
M[i,i+1]=nu[i]

# nos falta darle valor a el primer y último elemento (en realidad no es␣
֒→ necesario)

M[0,0]=2
M[N,N]=2

# Resolvemos el sistema y obtenemos las derivadas segundas

s2=dot(inv(M),lan)

# Inicializamos los coeficientes de nuestros splines

A0 = zeros([N],float)
A1 = zeros([N],float)
A2 = zeros([N],float)
A3 = zeros([N],float)

# Les damos su valor

for i in range(N):

A0[i] = fp[i]
A1[i] = (fp[i+1]-fp[i])/
֒→(xp[i+1]-xp[i])-(xp[i+1]-xp[i])*(s2[i+1]+2*s2[i])/6

A2[i] = s2[i]/2
A3[i] = (s2[i+1]- s2[i])/(xp[i+1]-xp[i])/6

# finalmente construimos nuestro polinomio

i=0
while x>xp[i+1]:
i+=1

return A0[i]+A1[i]*(x-xp[i])+A2[i]*(x-xp[i])**2+A3[i]*(x-xp[i])**3
[87]: from matplotlib.pyplot import plot,show

x=linspace(-1,1,100)
f=runge_function(x)
xp=linspace(-1,1,11)
fp=runge_function(xp)
fpol=[runge_interpol(a,11) for a in x]

13

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
fs=[spline_runge(a,10) for a in x]

plot(x,f)
plot(x,fs)

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
plot(xp,fp,"ro")
show()

plot(x,f)
plot(x,fs)
plot(xp,fp,"ro")
plot(x,fpol)
show()

14

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
1.3 4.3: Aproximaciones racionales: aproximantes de Padé
• Las aproximaciones racionales permite describir correctamente funciones con polos.

• También son mucho más estables que los polinomios de grados altos.

• En particular, un aproximantes de Padé de orden [ M/N ] de una función f ( x ) se definen


como:

R M (x) ∑iM =0 r i x
i
PM/N ( x ) = = N ,
Q N (x) ∑ i =0 q i x i
donde el valor de los coeficientes ri , qi están constreñidos a satisfacer la serie de Taylor de
f ( x ) a O( x N + M+1 ), es decir:

dn f ( x ) dn PM/N ( x )
= , con n = 0, · · · N + M.
dx n x =0 dx n x =0

• Multiplicando Q N ( x ) × PN/M estas ligaduras implican que:

15

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
r0 = q0 f (0),
r1 = q0 f ′ (0) + q1 f (0)

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
.. ..
. .
i
ri = ∑ q k f (i − k ) (0)
k =0
.. ..
. .
M
rM = ∑ q k f ( M − k ) (0)
k =0
N
0= ∑ q k f ( M +1− k ) ( 0 )
k =0
.. ..
. .
N
0= ∑ q k f ( M + N − k ) (0)
k =0
(9)

donde

q j = 0, ∀ j > N y f (k) = 0, ∀ k < 0


Ejemplo 4.1: Usar el aproximante de Padé [3/3] de la tan( x ) en el intervalo [0, π ].

• La serie de Taylor de tan( x ) = x + 13 x3 + 2 5


15 x + O( x7 ) en el intervalo [0, π ].
• Usando las reglas de recurrencia:

x0 : r0 =0,
1
x : r1 =1,
2
x : r2 = q1 ,
1
x3 : r3 = q2 + ,
3
4 1
x : 0 = q3 + q1 ,
3
2 1
x 5 : 0 = + q2 ,
15 13
2 1
x 6 : 0 = q1 + q3 ,
15 13
(10)
1
que implican que: r0 = r2 = q1 = q3 = 0, r3 = − 15 , y q2 = − 52 .

16

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Te has descargado este apunte gracias a la publicidad. También puedes eliminarla con 1 coin.
[108]: from numpy import linspace,tan,pi
from matplotlib.pyplot import plot,show,ylim

x=linspace(0,pi,100)
plot(x,tan(x))
plot(x,(x-1/15*x**3)/(1-2/5*x**2),"ro")
ylim(-50,50)
show()

Fin de la clase del 20/10/21


Final del Tema 4

17

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5131395

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.

También podría gustarte