• No se han encontrado resultados

Programaci´on: aproximaci´on de la transformada de Fourier en la recta real

N/A
N/A
Protected

Academic year: 2022

Share "Programaci´on: aproximaci´on de la transformada de Fourier en la recta real"

Copied!
4
0
0

Texto completo

(1)

Programaci´ on: aproximaci´ on de la transformada de Fourier en la recta real

Objetivos. Programar una funci´on que calcule de manera aproximada los valores de pf en ciertos nodos equidistantes ξj usando los valores de f en ciertos nodos equidistantes xk

y aplicando la transformada finita de Fourier. Utilicemos el lenguaje de Matlab/Octave.

Requisitos. Integraci´on num´erica, transformada finita de Fourier, programaci´on con arre- glos.

1. Integraci´on num´erica con rect´angulos izquierdos, repaso. Sea f una funci´on continua en ra, bs y sea n P N. Pongamos h “ pb ´ aq{n y denotemos por xk a los nodos equidistantes xk :“ a ` kh, donde k P t0, . . . , nu. Entonces

żb a

f pxq dx « b ´ a h

n´1

ÿ

k“0

f pxkq.

2. Transformada finita de Fourier, repaso. Sea n P N. Pongamos ωn “ e´2π in y definimos la matriz cuadrada Fn mediante la regla

Fn““ωnjkn´1 j,k“0.

La matriz Fn se llama la matriz de Fourier de orden n, y el operador lineal x ÞÑ Fnx se llama la transformada finita de Fourier de orden n o la transformada discreta c´ıclica de Fourier de orden n. Se sabe que

1

nFn˚Fn“ In.

3. Aproximaci´on de la transformada de Fourier en R por medio de la trans- formada finita de Fourier, idea. Sea m un n´umero natural par. Pongamos n “ m2,

xk “ ´m 2 ` k

m pk P t0, . . . , n ´ 1uq, ξj “ ´m 2 ` j

m pj P t0, . . . , n ´ 1uq. (1) Entonces

f pξq “p ż

R

f pxq e´2π i xξ dx « żm{2

´m{2

f pxq e´2π i xξ dx « 1 m

n´1

ÿ

k“0

f pxkq e´2π i xkξ, y

f pξp jq « vj :“ 1 m

n´1

ÿ

k“0

f pxkq e´2π i xkξj.

Programaci´on: aproximaci´on de la transformada de Fourier en R, p´agina 1 de 4

(2)

4. Aproximaci´on de la transformada de Fourier en R por medio de la trans- formada finita de Fourier, deducci´on de las f´ormulas finales. Usando la notaci´on y los convenios anteriores simplifique la expresi´on

´2π i xkξj. Muestre que

e´2π i xkξj “ p´1qjp´1qkωjkn . Muestre que

vj “ 1 mp´1qj

n´1

ÿ

k“0

f pxkqp´1qkωnjk.

Denotemos por s al vector rp´1qjsn´1j“0 y por d a la operaci´on de multiplicaci´on por com- ponentes. Pongamos

u ““

p´1qkf pxkq‰n´1

k“0 “ s d“fpxkq‰n´1

k“0. (2)

Muestre que

vj “ 1

mp´1qjpFnuqj. (3)

En otras palabras,

v “ 1

ms d pFnuq.

5. Construcci´on de progresiones aritm´eticas en Matlab/Octave, repaso. Para repasar algunos elementos de la sintaxis, se recomienda ejecutar los siguientes comandos uno por uno en el int´erprete de Matlab (o de GNU Octave).

1 : 5 (1 : 5)’

(0 : 4)’

(0 : 4)’ * 0.1 repmat(2, 5, 1)

repmat(2, 5, 1) + (0 : 4)’ * 0.1

6. Algunas operaciones por componentes, repaso.

[2; 3; 4] .* [11; 12; 13]

[2; 3; 4] .^ 2 repmat(-1, 5, 1)

s = repmat(-1, 5, 1) .^ ((0 : 4)’)

7. Evaluaci´on de una funci´on en varios puntos, repaso.

Programaci´on: aproximaci´on de la transformada de Fourier en R, p´agina 2 de 4

(3)

ppp = (0 : 4)’ * 0.1 f1 = @ (t) t .^ 2 vvv = f1(ppp) norm(vvv, inf)

8. Transformada finita de Fourier en Matlab/Octave, repaso. Dado un vector a en Cn, el producto Fna se puede calcular con el comando fft(a). Dentro de la funci´on fft est´a realizado un algoritmo muy eficiente llamado la transformada r´apida de Fourier (fast Fourier transform). Ahora no vamos a estudiar este algoritmo, solamente comprobemos que fft(a) coincide con Fna.

a = rand(5, 1) b = fft(a) norm(a)

norm(b) / sqrt(5)

omega = exp(- 2 * pi * 1i / 5) repmat(omega, 5, 5)

ind = (0 : 4)’ * (0 : 4)

F = repmat(omega, 5, 5) .^ ind c = F * a

norm(b - c)

9. Programaci´on: funci´on que aproximada la transformada de Fourier. En este ejercicio y en el siguiente, suponemos que m es un n´umero natural par, pongamos n “ m2 y definimos los vectores x P Rn, ξ P Rn, u, v P Cn por las f´ormulas (1), (2) y (3). Se recomienda guardar el siguiente c´odigo en el archivo fourier_approx.m, cambiando ???

por expresiones correctas.

function [v] = fourier_approx(f, m), n = m ^ 2;

ind = (0 : n - 1)’;

x = repmat(- m / 2, ???, 1) + ind / ???;

s = repmat(-1, ???, 1) .^ ???;

u = f(x) .* ???;

v = ???. * fft(???) / ???;

end

10. Programaci´on: prueba con la funci´on gaussiana. Hagamos una comprobaci´on de nuestra funci´on fourier_approx usando como f la funci´on gaussiana

f pxq “ e´πx2.

Denotamos pf por g. En este ejemplo g coincide con f . Se recomienda guardar el siguiente c´odigo en el archivo test_fourier_approx_1.m, cambiando ??? por expresiones correctas.

Programaci´on: aproximaci´on de la transformada de Fourier en R, p´agina 3 de 4

(4)

function [er] = test_fourier_approx_1(m), f = @ (x) exp(-pi * (x .^ 2));

g = f;

vapprox = fourier_approx(f, m);

n = m ^ 2;

xi = repmat(- m / 2, ???, 1) + (0 : ???)’ / ???;

vexact = g(???);

er = norm(??? - ???, inf);

end

Luego en el int´erprete se pueden ejecutar los comandos (como n “ m2, elegimos los valores de m no demasiado grandes):

test_fourier_approx_1(16) test_fourier_approx_1(128);

11. Programaci´on: prueba con una funci´on racional. Hagamos otra comprobaci´on de nuestra funci´on fourier_approx usando como f el siguiente caso particular del n´ucleo de Poisson:

f pxq “ 1 πp1 ` x2q. Denotemos pf por g. En este ejemplo

gpξq “ e´2π|ξ|.

Se recomienda guardar el siguiente c´odigo en el archivo test_fourier_approx_2.m, cam- biando ??? por expresiones correctas.

function [er] = test_fourier_approx_2(m), f = @ (x) ???;

g = @ (xi) ???;

vapprox = fourier_approx(???, ???);

n = ???;

xi = ???;

vexact = g(???);

er = ???;

end

Programaci´on: aproximaci´on de la transformada de Fourier en R, p´agina 4 de 4

Referencias

Documento similar

APARATOS DE PLASTIC0 AJUSTABLES PARA CORREGIR LOS PIES ZAMBOS DE RAUL Aparatos Abajo de la Rodilla para Enderezar 10s Pies de Raul Mientras Esta Parado Ya que la familia de

Determinante es la ´ unica funci´ on polilineal alternante de los renglones de la matriz que toma valor uno en la matriz identidad.. Determinante del producto

En alg´ un lenguaje de programaci´ on escriba una funci´ on que resuelva el sistema de ecuaciones Ax = b usando el m´ etodo de Jacobi.. Se puede trabajar con coordenadas o

•  Diabetes gestacional •  Preferencia del paciente •  RelaOvas: •  Hospitalización •  Enfermedad hepáOca o renal avanzada •  Incapacidad para sufragar

1.-Cual fue el tema del taller que usted realizo Total atencion al cliente 33,3% turismo, como tratar al turista 16,7% administración de hoteles 16,7% manejo de turistas 16,7%

Se usa como aislante térmico, pues el yeso es mal conductor de calor y electricidad, para confeccionar moldes de dentaduras, en odontología, para usos quirúrgicos en forma

El lenguaje Matlab es c´ omodo usar la operaci´ on : (dos puntos) para construir progresiones aritm´ eticas de n´ umeros enteros... Usar una relaci´

No obstante tiene un uso limitado para el diagnóstico de delirium basado en los criterios diagnósticos del DSM-IV, ya que en éste se requiere un trastorno de conciencia para