Está en la página 1de 19

Universidad Técnica Federico Santa María

Departamento de Matemática
Laboratorio de Computación para las Aplicaciones de la Matemática en Ingeniería

Laboratorio MAT270 - Análisis Numérico


CUARTA SESIÓN
Polinomios Ortogonales y Aproximación
Semana del 22 al 26 de abril de 2019

Coordinador Académico del Laboratorio : Profesor Jaime Figueroa Nieto (jaime.figueroa@usm.cl)


Ayudante Coordinador y de Software : Matías Araya Segura (matias.araya.12@sansano.usm.cl)

Sitio web : http://lab.mat.utfsm.cl


Atención Alumnos : Vía e-mail a los ayudantes de sala y ayudante coordinador.

20 de abril de 2019

1
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

Índice
1. Cuatro familias de polinomios ortogonales 3
1.1. DEFINICIONES GENERALES: funciones de ponderación, producto interno, ortogonalidad . 3
1.2. Polinomios Ortogonales de Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Polinomios Ortogonales de Chebyshev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4. Polinomios Ortogonales de Laguerre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5. Polinomios Ortogonales de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2. Aproximación por mínimos cuadrados usando polinomios ortogonales 10


2.1. Formula General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2. Aproximación usando polinomios de Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Aproximación usando polinomios de Chebyshev . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4. Aproximación usando polinomios de Laguerre . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5. Aproximación usando polinomios de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3. Un control anterior 18

4. Otro control anterior 19

2
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

1. Cuatro familias de polinomios ortogonales


1.1. DEFINICIONES GENERALES: funciones de ponderación, producto in-
terno, ortogonalidad
Las siguientes funciones w(x) son llamadas "Función Peso o Ponderación.en un intervalo I =]a, b[ si:


1 si
 1
√
1−x2
si a = −1; b = 1;
w(x) = −x


 e si a = 0; b = ı́nf
 −x2
e si a = −ı́nf; b = ı́nf

Veamos cómo son esas funciones:


clear
syms x
figure(1);
ezplot(1/sqrt(1-x^2),[-1 1]); grid on;

figure(2);
ezplot(exp(-x),[0 10]); grid on;
axis([0 10 0 1])

figure(3);
ezplot(exp(-x^2),[-8 8]); grid on;
axis([-8 8 0 1])
El producto interno con respecto w(x) de dos funciones f, g definidas en el intervalo ]a,b[ se define:
Z b
(f, g) = w(x)f (x)g(x)dx
a
p
Se define la norma de f como:kf k = (f, g)
Calculemos algunos productos internos y normas. La norma de sin(x) con respecto a la ponderación w=1 en
el intervalo [-1,1]:
w=1;
double(int(w*sin(x)^2,-1,1))
El producto interno de sin(x) con cos(2x) en [-1,1] con respecto a la ponderación w = 1 es:
int(w*sin(x)*cos(2*x),-1,1)
int(w*sin(x)*cos(2*x),-1,1)
La norma de sin(x) con respecto a la ponderación w(x) = √ 1 en el intervalo [-1,1]:
1−x2

w=1/sqrt(1-x^2);
double(int(w*sin(x)^2,-1,1))
El producto interno de sin(x) con cos(2x) en [-1,1] con respecto a la ponderación w(x) = √ 1 es:
1−x2

int(w*sin(x)*cos(2*x),-1,1)
El producto interno de x2 con x2 + x4 en [-1,1] con respecto a la ponderación w(x) = √ 1 es:
1−x2

p1=x^2;
p2=x^2+x^4;
int(w*p1*p2,-1,1)

3
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

Ejercicio.

Calcule la norma de f (x) = sin(x) en [0,ı́nf] con respecto a la ponderación e−x .


(R ≈ 0,4)
2
Calcule la norma de f (x) = cos(x) en ]−ı́nf,ı́nf[ con respecto a la ponderación e−x .
(R ≈ 1,212)

DEFINICIÓN

Dos funcionesf ,g se dicen ortogonales con respecto al producto interno si:

(f, g) = 0

Ejemplo

Probar que los polinomios f (x) = 3x2 − 1 , g(x) = 35x4 − 30x2 + 3 son ortogonales con respecto w(x) = 1 en
]−1, 1[.
R1
Bastaría probar que −1 f (x)g(x)dx = 0 . Observe que esto no es trivial por cuanto ambos polinomios son
de orden par. En efecto,

w = 1;
p1 = 3*x^2-1;
p2 = 35*x^4 - 30*x^2 + 3;
int(w*p1*p2,-1,1)

DEFINICIÓN IMPORTANTE

Se dirá que una familia{φn }, n = 0, 1, . . . de funciones definidas en ]a, b[ es ortogonal si todo par de
funciones distintos es ortogonal.

Se dirá que una familia {φn }, n = 0, 1, . . . de funciones definidas en es ortonormal si ella es ortogonal y
cada uno de los miembros de la familia tienen norma igual a uno.

1.2. Polinomios Ortogonales de Legendre


La familia de polinomios de Legendre se define en ]-1,1[ mediante la fórmula recursiva:

p0 (x) = 1
p1 (x) = x
2n + 1 n
pn+1 (x) = x · pn (x) − pn−1 (x) n > 1
n+1 n+1
Ejemplo.

Definamos un procedimiento que permita obtener los polinomios de Legendre definidos más arriba:
function pol=legendre_pol(m)

syms x
p(1)=sym(1); %P0
p(2)=x; %P1

if m<0,
disp(’Error, m debe ser >= 0’);
return;
elseif m==0,

4
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

pol=p(1);
return
elseif m==1,
pol=p(2);
return
else
for n=1:m,
p(n+2) = (2*n + 1)/(n+1)*x*p(n+1) - n/(n+1)*p(n);
end
end

pol=simplify(p(m+1));
Veamos los polinomios de Legendre para n = 0, 1,..., 6:
for n=0:6,
disp(sprintf(’\nPolinomio P%d:’,n));
disp(legendre_pol(n));
end
figure(1);
ezplot(legendre_pol(4),[-1 1]);
h=findobj(gcf,’type’,’Line’);
set(h,’color’,’r’);
hold on;
ezplot(legendre_pol(6),[-1 1]);
hold off;
xlabel(’x’); title(’Polinomios de Legendre’);
grid on
Para comprobar que son ortogonales habrá que probar que la integral de los dos polinomios sobre ]-1,1[
es cero:
figure(1);
ezplot(legendre_pol(2)*legendre_pol(6),[-1 1]); grid on;
xlabel(’x’);
int(legendre_pol(2)*legendre_pol(6),-1,1)
Calculemos los ceros de P6(x):
ceros_P6 = real(double(solve(legendre_pol(6))))
CONCLUSIÓN

TODOS LOS CEROS SE ENCUENTRAN EN ]-1,1[ Y ESTÁN SIMÉTRICAMENTE UBICADOS CON


RESPECTO AL ORIGEN.

Propiedades de los polinomios de Legendre. 1) Grado del polinomio pn es n y todos sus ceros están en ]-1,1[
2) pn (1) = 1 , para todo n (
R1 0 si n 6= m
3) (pn , pm ) = −1 pn (x)pm (x)dx = 2
2n+1 si
NOTA:
La propiedad 3) indica que la familia es ortogonal.
En 3) cuando está dando el valor de la norma al cuadrado.

Ejercicio.

Dibujar otros polinomios de Legendre, observar sus formas y calcular sus ceros o raíces de la ecuación

5
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

pn (x) = 0 (estos ceros tienen una importancia fundamental en el cálculo de integrales).


Comprobar que son ortogonales los veinte primeros polinomios calculando directamente los productos internos
entre ellos.
Comprobar las propiedades 2) y la de la norma en 3).

1.3. Polinomios Ortogonales de Chebyshev


Definición: Producto Interno
El producto interno con respecto a w(x) = √ 1 de dos funciones f, g definidas en el intervalo ]−1, 1[ se
1−x2
define: Z 1
(f, g) = w(x)f (x)g(x)dx
−1
p
Se define la norma de f como: k f k= (f, g)

Hay dos formas equivalentes de definir los polinomios. Mediante la primera se verá que se trata de ondas de
amplitud 1. La segunda permite ver que se trata en efecto de polinomios.

Definición:

La familia de polinomios de Chebyshev se define en ]-1,1[ mediante la fórmula:

Tn (x) = cos(n · arcsin(nx)); n = 0, 1, . . .

La siguiente función calcula el polinomio de Chebyshev de grado m:

function pol=chebyshev_pol(m)

syms x
T(1)=sym(1); %P0
T(2)=x; %P1

if m<0,
disp(’Error, m debe ser >= 0’);
return;
elseif m==0,
pol=T(1);
return
elseif m==1,
pol=T(2);
return
else
for n=1:m,
T(n+2) = 2*x*T(n+1) - T(n);
end
end

pol=simplify(T(m+1));
Veamos los polinomios de Chebyshev para n = 0, 1,..., 6:

for n=0:6,
disp(sprintf(’\nPolinomio T%d:’,n));
disp(chebyshev_pol(n));
end

Propiedades de los polinomios de Chebyshev.

6
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

1) Grado del polinomio Tn es n y todos sus ceros están en ]-1,1[ y ninguno fuera de él.
2)Tn (1) = 1∀n 
6 m
0 si n =

R1
3)(Tn , Tm ) = −1 Tn (x)Tm (x)dx = π si n = m = 0
π

2 n=m>0
4) Los ceros
 de Tn
 son:
xi = cos (2i−1)π
2n , i = 1, . . . , n
NOTA:

La propiedad 3) indica que la familia es ortogonal con respecto w(x) = √ 1 . En 3) cuando n = m está
1−x2
dando el valor de la norma al cuadrado.

Verificación de algunas propiedades

figure(1);
ezplot(chebyshev_pol(2),[-1 1]); hold on; grid on;
ezplot(chebyshev_pol(3),[-1 1]);
ezplot(chebyshev_pol(4),[-1 1]);
ezplot(chebyshev_pol(5),[-1 1]);
ezplot(chebyshev_pol(6),[-1 1]);
ezplot(chebyshev_pol(7),[-1 1]);
ezplot(chebyshev_pol(8),[-1 1]);
xlabel(’x’);
hold off;

figure(2);
ezplot(chebyshev_pol(8),[-1 1]); grid on;
Veamos los ceros
i=1:8;
r1 = sort(double(solve(chebyshev_pol(8))))
r2 = sort((cos((((2*i-1)*pi)./(2*8))))’)
Veamos un producto interno:
syms x
w=1/sqrt(1-x^2);
int(w*chebyshev_pol(8)^2,-1,1)

Veamos la ortogonalidad con respecto a la ponderación


int(w*chebyshev_pol(6)*chebyshev_pol(8),-1,1)

1.4. Polinomios Ortogonales de Laguerre


Definición: Producto Interno

El producto interno con respecto a w(x) = e−x de dos funciones f, g definidas en el intervalo ]0,ı́nf[ se
define: Z 1
(f, g) = w(x)f (x)g(x)dx
−1
p
Se define la norma de f como k f k= (f, g):

7
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

Definición: Polinomios Ortogonales de Laguerre

La familia de polinomios de Laguerre se define en ]0,ı́nf[ mediante la fórmula recursiva:


L0 = 1
L1 (x) = 1−x
2n − 1 − x n
Ln+1 (x) = Ln (x) − Ln−1 (x) n ≥ 1
n+1 n+1
La siguiente función calcula el polinomio de Laguerre de grado m:
function pol=laguerre_pol(m)

syms x L
L(1)=1; %P0
L(2)=1-x; %P1

if m<0,
disp(’Error, m debe ser >= 0’);
return;
elseif m==0,
pol=L(1);
return
elseif m==1,
pol=L(2);
return
else
for n=1:m,
L(n+2)=(2*n+1-x)/(n+1)*L(n+1)-n/(n+1)*L(n);
end
end

pol=simplify(L(m+1));
Propiedades de los polinomios de Laguerre.

1) Grado del polinomio Ln es n. (


R ∞ −x 0 si n 6= m
2)(Ln , Lm ) = 0 e Ln (x)Lm (x)dx =
1 si n = m = 0

Verificación de algunas propiedades


hold on
for i=0:7
L(i+1)=laguerre_pol(i);
if i>1
ezplot(L(i+1),[0 10])
end
disp(char(L(i+1)))
end
hold off
Veamos un gráfico donde se destacan los 7 ceros que tiene L[7]:
ezplot(L(8),[0 25])
axis([0 25 -1 1])
grid on

8
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

Calculemos todos los ceros de L[7]


solve(L(8))
Veamos un producto interno
syms x
int(exp(-x)*L(8)*L(8),0,inf)
Veamos la ortogonalidad con respecto a la ponderación
int(exp(-x)*L(8)*L(7),0,inf)

1.5. Polinomios Ortogonales de Hermite


Definición: Producto Interno

2
El producto interno con respecto w(x) = e−x de dos funciones f, g definidas en el intervalo ] − ∞, ∞[ se
define: Z ∞
(f, g) = w(x)f (x)g(x)dx
−∞
p
Se define la norma de f como : k f k= (f, g)

Polinomios Ortogonales de Hermite

La familia de polinomios de Hermite se define en ] − ∞, ∞[ mediante la fórmula recursiva:

H0 = 1
H1 (x) = 2x
Hn+1 (x) = 2xHn (x) − Hn (x) n > 1

PROPIEDADES de los polinomios de Hermite.

1) Grado del polinomio Hn es n. (


R ∞ −x2 0 si n ≤ m
2) (Hn , Hm ) = −∞ e Hn (x)Hm (x)dx = √
2n n! π si n = m

Se utilizará la siguiente función (hermite) para generar los polinomios de grado m


function H=hermite(N)
syms x H
H(1,1)=1;
H(2,1)=2*x;
for n=1:N-2
H(n+2,1)=simplify(2*x*H(n+1,1)-diff(H(n+1,1)));
end
Ejemplos
clear
syms x H
H=hermite(12)
Verificación de algunas propiedades

9
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

figure(1)
hold on
for i=1:12
ezplot(H(i,1),[-4 4])
end
grid on
hold off
Veamos un gráfico donde se destacan los 8 ceros que tiene H[8] y los 7 ceros de H[7]. Observe el interca-
lamiento. Esta es una propiedad que tienen todos los polinomios ortogonales.

figure(2)
hold on
ezplot(H(9,1),[-4 4])
h=findobj(gcf,’type’,’Line’);
set(h,’color’,’r’);
axis([-3 3 -10000 10000])
grid on
ezplot(H(8,1),[-4 4])
axis([-3 3 -10000 10000])
grid on
hold off

Calculemos concretamente todos los ceros de H[8]. Esto se usa en integración numérica.
format long
real(double(solve(H(9,1))))
Veamos un producto interno

double(int(exp(-x^2)*H(9,1)*H(9,1),x,-inf,inf))
El cual teóricamente debería ser igual a:
2^8*sqrt(pi)*factorial(8)
Veamos la ortogonalidad con respecto a la ponderación

int(exp(-x^2)*H(7,1)*H(9,1),x,-inf,inf)

2. Aproximación por mínimos cuadrados usando polinomios orto-


gonales
2.1. Formula General
Para obtener una aproximación p∗ (x) de grado n por mínimos cuadrados de la función f (x) ,a ≤ x ≤ b
utilizando polinomios ortogonales ϕk(x), k=0,1,...,n en [a, b] respecto de la función de peso w(x) :
X
p∗ (x) = ck ϕk(x); ck = (< f, ϕk >)/(< ϕk, ϕk >)

Se supone que ϕk(x) es polinomio de grado k.

R
Notación: < f, g >= w(x)f (x)dx

Observación importante para las aplicaciones:

10
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

αi xi entonces : < f, ϕk >= αi φi (x) en que:


P P
Si ϕk(x) =
Z
mi = w(x)xi f (x)dx , i = 0, 1, . . . , n (2.1.1)

Esto es, para obtener una aproximación basta calcular los ck y, para lograr esto basta contar con una tabla
con los valores de mi en (2.1.1) que llamaremos "momento de orden i".

2.2. Aproximación usando polinomios de Legendre


Ejemplo Test

Aproximar la función f (x) = sin(x) en [-1,1] utilizando polinomios de Legendre.


Se grafica la funcion:
clear
format long
syms x
f = sin(x);
figure(1);
clf
ezplot(f,[-1 1]); grid on;
Se generan los coeficientes de Fourier de la fórmula de aproximacionpor mínimos cuadrados, para esto
utlizaremos la función:
legendre_pol()

for i=0:5,
arg=f*legendre_pol(i);
temp=char(arg);
integrando=strrep(temp,’^’,’.^’);
integrando=strrep(integrando,’*’,’.*’);
c(i+1)=(2*i+1)/2*quadl(integrando,-1,1);
end
c=double(c)’
Se calcula la aproximación y se grafica la funcion sobre la aproximacion:
aproxf = 0;
for k=0:5,
aproxf = aproxf + c(k+1)*legendre_pol(k);
end
figure(1);
clf;
ezplot(f,[-1 1]); grid on; hold on;
h=findobj(gcf,’type’,’Line’);
set(h,’color’,’r’);
set(h,’Marker’,’o’);
ezplot(aproxf,[-1 1]);
hold off
xlabel(’x’);
legend(’fcn original’,’interpolacion’,4);
Ejemplo

Aproximemos la función gama en el intervalo [ 0.1 , 5] utilizando polinomiosde Legendre. Se grafica la


función:

11
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

g=gamma(x);
figure(1);
clf
ezplot(g,[0.1 5]);
grid
Se cambia la variable para definirla en [-1,1]. Para esto se encuentrala función lineal que expresa x en
[0.1,5] en la nueva variable t en [-1,1].
syms x
xt=(5-0.1)/2*x+(5+0.1)/2;
gt=gamma(xt);
ezplot(gt,[-1 1]);
grid
Se generan los coeficientes de Fourier de la formula de aproximación por mínimos cuadrados.
for i=0:9,
arg=gt*legendre_pol(i);
temp=char(arg);
integrando=strrep(temp,’^’,’.^’);
integrando=strrep(integrando,’*’,’.*’);
c(i+1)=(2*i+1)/2*quadl(integrando,-1,1);
end
c=double(c)
Se calcula la aproximación y se grafica la función sobre la aproximación:
aproxg = 0;
for k=0:9,
aproxg = aproxg + c(k+1)*legendre_pol(k);
end
figure(1);
clf;
ezplot(aproxg,[-1 1]); grid on; hold on;
h=findobj(gcf,’type’,’Line’);
set(h,’color’,’r’);
set(h,’Marker’,’o’);
ezplot(gt,[-1 1]);
hold off
xlabel(’x’);
legend(’interpolacion’,’fcn original’,4);

2.3. Aproximación usando polinomios de Chebyshev


Ejemplo

Test: Aproximar la función f (x) = sin(x), x en [-1,1] utilizando polinomios de Chebyshev Se grafica la
función:
clear
syms x
f = sin(x);
figure(1);
clf
ezplot(f,[-1 1]); grid on;

12
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

Se generan los coeficientes de Fourier de la fórmula de aproximación por mínimos cuadrados, para esto
utlizaremos la función:
chebyshev_pol()

w=1/sqrt(1-x^2);
d=[1 2*ones(1,10)];
for i=0:5,
arg=w*f*chebyshev_pol(i);
temp=char(arg);
integrando=strrep(temp,’^’,’.^’);
integrando=strrep(integrando,’*’,’.*’);
integrando=strrep(integrando,’/’,’./’);
c(i+1)=d(i+1)/pi*quadl(integrando,-1,1,1e-9);
end
c’

Se calcula la aproximación y se grafica la función sobre la aproximación:


aproxf = 0;
for k=0:5,
aproxf = aproxf + c(k+1)*chebyshev_pol(k);
end
ezplot(f,[-1 1]); grid on; hold on;
h=findobj(gcf,’type’,’Line’);
set(h,’color’,’r’);
set(h,’Marker’,’o’);
ezplot(aproxf,[-1 1]);
hold off
xlabel(’x’);
legend(’fcn original’,’interpolacion’,4);
Ejemplo

Aproximemos la función gama en el intervalo [ 0.1 , 5] utilizando polinomiosde Legendre. Se grafica la


función:
figure(1)
g=gamma(x);
ezplot(g,[0.1 5]);
grid
Se cambia la variable para definirla en [-1,1]. Para esto se encuentra la función lineal que expresa x en
[0.1,5] en la nueva variable t en [-1,1].
syms x
xt=(5-0.1)/2*x+(5+0.1)/2;
gt=gamma(xt);
ezplot(gt,[-1 1]);
grid
Se generan los coeficientes de Fourier de la formula de aproximación por mínimos cuadrados.

warning off
for i=0:9,
arg=w*gt*chebyshev_pol(i);

13
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

temp=char(arg);
integrando=strrep(temp,’^’,’.^’);
integrando=strrep(integrando,’*’,’.*’);
integrando=strrep(integrando,’/’,’./’);
c(i+1)=d(i+1)/pi*quadl(integrando,-1,1);
end
c’
Advertencia: En los casos en que f se desconoce se la muestra de alguna manera y se utiliza para
la integración alguna de las fórmulas abiertas la vistas en la sección anterior. Esto mismo vale para la
aproximación de Legendre. Y en realidad lo que se necesita es calcular los productos internos de g con las
potencias de la variable.

Se calcula la aproximación y se grafica la función sobre la aproximación:


aproxg = 0;
for k=0:9,
aproxg = aproxg + c(k+1)*chebyshev_pol(k);
end
ezplot(aproxg,[-1 1]); grid on; hold on;
h=findobj(gcf,’type’,’Line’);
set(h,’color’,’r’);
set(h,’Marker’,’o’);
ezplot(gt,[-1 1]);
hold off
xlabel(’x’);
legend(’interpolacion’,’fcn original’);
Recordemos cuál es ese coeficiente de Fourier:
c(2+1)
Resulta de la integración siguiente:
arg=w*gamma(2.45*x+2.55)*chebyshev_pol(2);
temp=char(arg);
integrando=strrep(temp,’^’,’.^’);
integrando=strrep(integrando,’*’,’.*’);
integrando=strrep(integrando,’/’,’./’);
d(2)/pi*quadl(integrando,-1,1)

2.4. Aproximación usando polinomios de Laguerre


Ejemplo

Consideraremos un hilo que se enrolla dentro del círculo unitario con un paso decreciente tendiendo a
cero, por lo cual el enrollamiento es infinito. No así la longitud total del hilo.

La siguiente es una parametrización del círculo unitario

clear
format long
t=0:.01:2*pi;
x=cos(t);
y=sin(t);
plot(x,y)
grid on

14
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

Ahora enrollemos un hilo al interior de ese círculo con un paso determinado por (tiene el aspecto de un
disco de vinilo, pero allí el paso era constante)
t=0:0.01:150*pi;
x1=cos(t).*exp(-t/200);
y1=sin(t).*exp(-t/200);
plot(x1,y1)
grid on
Calculemos la longitud del hilo empleado

syms t real
x=cos(t)*exp(-t/200);
y=sin(t)*exp(-t/200);
dx=diff(x)
dy=diff(y)
El diferencial de longitud

ds=sqrt(dx^2+dy^2)
La longitud del hilo utilizado al enrollarlo x/2π veces. Haciendo tender el enrollado al infinito se logra la
longitud total
syms x
r=int(ds,0,x)
Haciendo tender el enrollado al infinito se logra la longitud total
double(limit(r,x,inf))

Eso es equivalente a integrar de 0 hasta infinito


temp=double(int(ds,t,0,inf))
Dibujemos la función r. Se observa que se estaciona dando de la longitud total
syms x
r=simplify(int(ds,t,0,x));
ezplot(r,[0 1000])
grid on
Calculemos los momentos para poder aproximar r mediante polinomios de Laguerre:
for i=1:13
mo(i)=double(int(r*exp(-x)*x^(i-1),0,inf));
end
mo’
Obtenemos los polinomios de Laguerre

for i=1:12
L(i,1)=laguerre_pol(i);
end
disp(’Listo’)
Utilizando los momentos, primero calculemos la aproximación cúbica de r. Los coeficientes respectivos
son:

15
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

1
L0r=mo(1)
L(1,1)
L1r=mo(1)-mo(2)
L(2,1)
L2r=mo(1)-2*mo(2)+1/2*mo(3)
L(3,1)
L3r=mo(1)-3*mo(2)+3/2*mo(3)-1/6*mo(4)
y la aproximación
r3=simplify(1*L0r+L(1,1)*L1r+L(2,1)*L2r+L(3,1)*L3r)
ezplot(r3,[0 300]); grid on; hold on;
h=findobj(gcf,’type’,’Line’);
set(h,’color’,’r’);
ezplot(r,[0 300])
hold off
Comparativamente sirve bien para x < 150 después se separa. Se necesitaría para x mayores una aproxi-
mación de grado mayor.

Para calcular una aproximación de grado mayor habría que automatizar el proceso anterior.

Puesto que lo que se necesita son los coeficientes de los polinomios utilizamos el comando sym2poly que
da la lista de ellos.
Lr(1)=mo(1);
Lr(2)=mo(1)-mo(2);
for n=2:7
Lr(n+1)=sym2poly(L(n-1,1))*-sort(-mo(1:n))’;
end
Lr’
Calculemos la aproximación de grado 6:
r6= simplify(sum(Lr(3:8)’.*L(1:6,1)))
ezplot(r3,[0 500]); grid on; hold on;
h=findobj(gcf,’type’,’Line’);
set(h,’color’,’r’);
ezplot(r6,[0 500]); grid on; hold on;
h=findobj(gcf,’color’,’b’);
set(h,’color’,’k’);
ezplot(r,[0 500])
hold off
legend(’Aprox grado 3’,’Aprox grado 6’,’Valor exacto’,4)
La aproximación sexta funciona bien para x < 400 después se separa y se necesitaría una aproximación
de orden mayor. Y así sucesivamente.

2.5. Aproximación usando polinomios de Hermite


Ejemplo

Expresemos la función en polinomios de Hermite


clear
syms x

16
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

f=(x-1)*(2-x)*(4-x)*(x+2);
ezplot(f,[-3 3])
grid on
Obtenemos los primeros 6 polinomios de Hermite

H=hermite(6)
Los coeficientes de Fourier serán:
R∞ 2

−∞
e−x f (x)Hn (x)dx
Cn = √
2n n! π

Cálculo de la aproximación de f (x) en términos de polinomios de Hermite


for i=1:6
num=double(int(exp(-x^2)*f*H(i),-inf,inf));
denom=(2^(i-1)*factorial(i-1)*sqrt(pi));
C(i,1)=(num/denom);
end
C
Graficamos la función y su aproximación.

aprox=simplify(sum(C.*H));
ezplot(aprox,[-3 3])
h=findobj(gcf,’type’,’Line’);
set(h,’color’,’r’);
set(h,’marker’,’o’);
hold on
grid on
ezplot(f,[-3 3])
legend(’aproximacion’,’exacto’,4)
hold off
La respuesta era predecible por unicidad por cuanto se trataba de un polinomio de grado 4. Lo interesante
es que los coeficientes de Fourier dan exactamente el resultado que de una forma más larga puede conseguirse
resolviendo un sistema de cinco ecuaciones lineales.

17
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

3. Un control anterior
UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
Departamento de Matemática
Laboratorio de Computación para las
Aplicaciones de la Matemática en Ingeniería
LABORATORIO DE ANALISIS NUMERICO - MAT270 1 2017 SESION 11 y CONTROL 4 Tema:
Aproximacion - Integración - Solución P.V.I.
Tiempo: 70 minutos.
Puntaje: Señalado en cada pregunta.
Objetivo:Aplicar métodos.

Problema 1. (35 puntos) Aproximación

Las rutas areas son curvas en una esfera. Pero por razones de seguridad no siempre son arcos esféricos. En este
caso se trata de una curva r = {(t), b(t), c(t)} ,−1 < t < 1. Se tienen datos de posiciones de c(t) que permiten
R1
calcular las integrales −1 c(t)pi (t)dt, i = 0,1,2,3 y estos son respectivamente: {0., 0,602337, 0., −0,0180132},
en que pi (t) es el i-ésimo polinomio de Legendre.

Pregunta:

Aproximar utilizando polinomios de Legendre la componente c(t) de la ruta.

a) 15 ptos) Responda por el valor del segundo coeficiente de Fourier.


b) (20 ptos) Responda por la suma de los valores de la aproximación en t=0.2 y t=0.3
Problema 2 Integración Newtoniana

a) (10 ptos) Si aplica tres veces la fórmula de Simpson cerrada, responda por el numero total de nodos que
necesita.
b) 20 ptos) Si una cota para el la derivada cuarta de c(t) es 1, calcule el numero mínimo de nodos necesario
para obtener un error en la integración de b(t) inferior a 10−6
Problema 3 Integración Gaussiana

Se conocen los valores de b(t) en algunos puntos los cuales se dan en la tabla de abajo.
a) (15 ptos) Responda por el valor del segundo nodo de la fórmula de Gauss-Legendre en 2 puntos en el
intervalo [0,1]
b) (20 ptos) Calcular la integral de b(t) entre t=-1 y t=1 aplicando dos veces la fórmula de Gauss-Legendre
en 2 puntos.
Tabla: { { t , b(t) }}
{{-0.788675,-0.70942},{-0.738675,-0.673309},
{-0.211325,-0.209755},{{0.211325,0.209755},
{0.788675,0.70942},{0.738675,0.673309}}}

Respuestas: {0.903506,0.493521,7,23,0.788675,5.55112*10^-17}

18
Departamento de Matemáticas U.T.F.S.M Análisis Numérico MAT-270

4. Otro control anterior

19