Vous êtes sur la page 1sur 6

NOMBRE: ACUÑA EDDY

FENÓMENOS DE RUNGE
Es un problema que sucede cuando se usa interpolación polinómica con polinomios de alto grado
utilizando nodos equidistantes.
SOLUCIONES AL PROBLEMA DE RUNGE
La oscilación se puede minimizar usando nodos de Chebyshev en lugar de equidistantes. En este
caso se garantiza que el error máximo disminuye al crecer el orden polinómico. El fenómeno
demuestra que los polinomios de grado alto no son, en general, aptos para la interpolación.
La divergencia de la interpolación es un resultado del fenómeno de Runge.
Por qué esta falla es explicable en términos de dos relaciones: Las Desigualdades de Bernstein y
Markov. Para un polinomio (Kiusalaas, 2005)

𝑃𝑁 ∈ [−1,1]
𝑁
|𝑃′ (𝑥)| ≤ ||𝑃||∞
√1 − 𝑥 2
La singularidad en la desigualdad de Bernstein puede estar limitada por la desigualdad de Markov.
||𝑃′ ||∞ ≤ 𝑁 2 ||𝑃||∞

Con el ser general


𝑁
|𝑃′ (𝑥)| ≤ min⁡( , 𝑁 2 )||𝑃||∞
√1 − 𝑥 2

Problema 7.5 del libro Numerical Methods in Engineering con Matlab


Use el método de cuarto orden del fenómeno de Runge para integración
𝑦 ′ = 3𝑦 − 4𝑒 −𝑥 𝑦(0) = 1
Para x=0 para 10 pasos de h=0.1. (Kiusalaas, 2005)
Resolución
La ecuación que nos da es 𝑦 ′ = 3𝑦 − 4𝑒 −𝑥 pero para ingresar en Matlab debe ser así
3*x-4*exp(-t)
Las condiciones a ingresar que nos dice el ejercicio son
Tiempo inicial 0
Tiempo final 10
Número de intervalos 100
El código que se uso es
function [t,x]=runge(f,t0,tf,x0,n)
h=(tf-t0)/n; %tamaño de paso
t=t0:h:tf;
x=zeros(n+1,1); %reserva de memoria
x(1)=x0;
%fprintf('\n''Pto x0 y(x1)');
for i=1:n
k1=h*f(t(i),x(i));
k2=h*f(t(i)+h/2,x(i)+k1/2);
k3=h*f(t(i)+h/2,x(i)+k2/2);
k4=h*f(t(i)+h,x(i)+k3);

x(i+1)=x(i)+(k1+2*k2+2*k3+k4)/6;
end
end
Incluido con
fprintf('\tRESOLUCION DE ECUACIONES DIFERENCIALES POR EL METODO RUNGE
KUTTA');
t0=input('\n INGRESE EL TIEMPO INICIAL:');
tf=input('\n INGRESE EL TIEMPO FINAL:');
n=input('\n INGRESE EL NUMERO DE INTERVALOS:');
x0=1;
f=@(t,x) 3*x-4*exp(-t);
[t,x]=runge(f,t0,tf,x0,n);

plot(t,x)
xlabel('VARIABLE INDEPENDIENTE')
ylabel('VARIABLE DEPENDIENTE')
title('FENOMENO DE RUNGE')
Matlab
Valores de xt Valores de yx
0 1
2 0,132504642015487
4 -1,12366915506601
6 -460,561696136066
8 -185746,199126590
10 -74911711,5364970
Da en el libro

NODOS DE CHEBYSHEV EN OTROS INTERVALOS


Algunas veces es necesario transformar un problema originalmente planteado en un intervalo [a,b]
y reformularlo como un problema en otro intervalo [c,d] en el que se pueda resolver más
cómodamente. En el caso que nos ocupa, si debemos obtener una aproximación PN (x) a f(x) en
un intervalo [a,b], entonces hacemos un cambio de variable para reformular el problema en [-1,1]
(Mathews, 2007)
Ejemplo del Teorema de Lagrange
function [C]=ilagrange(x,y)
n1=length(x);
n=n1-1;
L=zeros(n1,n1);
for k=1:n+1
V=1;
for j=1:n+1
if k~=j;
V=conv(V,poly(x(j)))/(x(k)-x(j));
end
end
L(k,:)=V;
end
C=y*L
Lo que representaría 0.033 x^2 -1.833x +5.8 el polinomio de grado dos ingresando 3 puntos.

OTRO EJEMPLO
clear all;
rp=0.2;
rs=20;
fp=200;
fs=600;
f=2000;
wp=2*(fp/f);
ws=2*(fs/f);
[n,wn]=cheb2ord(wp,ws,rp,rs);
wn=[wp,ws];
[b,a]=cheby2(n,rs,wn,'stop');
[h,w]=freqz(b,a);
subplot(2,1,1);
plot(w/pi,20*log(abs(h)));
grid;
xlabel('nf');
ylabel('mag');
title('mag response');
subplot(2,1,2);
plot(w/pi,angle(h));
grid;
xlabel('nf');
ylabel('angle');
title('phase response');

Bibliografía
Kiusalaas, J. (2005). Numerical Methods in Engineering with Matlab. New York: Cambrige.

Mathews, J. (2007). Metodos Numericos con Matlab. Madrid: Pearson.

Vous aimerez peut-être aussi