Actividad 3 Considere la función en el intervalo 0 ≤ t ≤ 2π
Enviado por Eric • 22 de Marzo de 2018 • 1.084 Palabras (5 Páginas) • 388 Visitas
...
1 for i=1:3
2 syms x k ;
3 n=[3,5,20];
4 f='x/2';
5 q=[0,2];
6 evalin(symengine,'assume(k,Type::Integer)');
7 a = @(f,x,k,q) 2*int(f*cos(k*x*pi/q(2))/q(2),x,q(1),q(2));
8 b = @(f,x,k,q) 2*int(f*sin(k*x*pi/q(2))/q(2),x,q(1),q(2));
9 am = @(f,x,k,q) 2*int(f*cos(k*x*(pi/2)/q(2))/q(2),x,q(1),q(2));
10 bm = @(f,x,k,q) 2*int(f*sin(k*x*(pi/2)/q(2))/q(2),x,q(1),q(2));
11 fs = @(f,x,n,q) a(f,x,0,q)/2 + ...
12 symsum(a(f,x,k,q)*cos(k*x*pi/q(2)) +
13 b(f,x,k,q)*sin(k*x*pi/q(2)),k,1,n(i));
14 s(i)=fs(f,x,n,q);
15 fs = @(f,x,n,q) a(f,x,0,q)/2 + ...
16 symsum(am(f,x,k,q)*cos(k*x*(pi/2)/q(2)),k,1,n(i));
17 w(i)=fs(f,x,n,q);
18 fs = @(f,x,n,q) a(f,x,0,q)/2 + ...
19 symsum(bm(f,x,k,q)*sin(k*x*(pi/2)/q(2)),k,1,n(i));
20 r(i)=fs(f,x,n,q);
21 end
Actividad 5
Considere la función representada en la siguiente figura.
[pic 39]
a) Calcule analíticamente (a mano) el desarrollo de f(t) en serie de Fourier de recorrido completo.
b) Calcule analíticamente (a mano) el desarrollo de f(t) en serie de Fourier demedio recorrido en cosenos.
c) Calcule analíticamente (a mano) el desarrollo de f(t) en serie de Fourier de medio recorrido en senos.
d) Utilice la función MiSerieFourier mediante un archivo tipo script para obtener las funciones correspondientes a las sumas parciales con n = 3, 5 y 20 de los tres apartados anteriores de esta actividad. No muestre los resultados de la corrida del script en el reporte. Únicamente liste el script.
e) Desarrolle código en un archivo tipo script de Matlab en el que, mediante el uso del comando str2func convierta las cadenas de texto obtenidas en el apartado anterior a funciones y a partir de ellas genere gráficas donde muestre la función f (t) en el intervalo en que está definida, y su correspondiente desarrollo en serie de Fourier con las sumas parciales correspondientes a n = 3, 5 y 20. Asegúrese de ajustar adecuadamente los límites en la ventana de graficación, de etiquetar correctamente los ejes, y de usar los identificadores adecuados para cada una de las curvas. Muestre seis periodos de la función (tres a la izquierda y tres a la derecha del origen).
Solución
d)
Utilizando MiSerieFourier
for i=1:3
syms x k ;
n=[3,5,20];
f='2';
q=[0,2];
evalin(symengine,'assume(k,Type::Integer)');
a = @(f,x,k,q) 2*int(f*cos(2*k*x*pi/q(2))/q(2),x,q(1),q(2));
b = @(f,x,k,q) 2*int(f*sin(2*k*x*pi/q(2))/q(2),x,q(1),q(2));
am = @(f,x,k,q) 2*int(f*cos(k*x*(pi/2)/q(2))/q(2),x,q(1),q(2));
bm = @(f,x,k,q) 2*int(f*sin(k*x*(pi/2)/q(2))/q(2),x,q(1),q(2));
fs = @(f,x,n,q) a(f,x,0,q)/2 + ...
symsum(a(f,x,k,q)*cos(2*k*x*pi/q(2)) +
b(f,x,k,q)*sin(2*k*x*pi/q(2)),k,1,n(i));
s(i)=fs(f,x,n,q);
fs = @(f,x,n,q) a(f,x,0,q)/2 + ...
symsum(am(f,x,k,q)*cos(k*x*(pi/2)/q(2)),k,1,n(i));
w(i)=fs(f,x,n,q);
fs = @(f,x,n,q) a(f,x,0,q)/2 + ...
symsum(bm(f,x,k,q)*sin(k*x*(pi/2)/q(2)),k,1,n(i));
r(i)=fs(f,x,n,q);
end
Conclusiones
Carlos Enrique Campos Gil
Lo más complicado para nosotros durante la práctica fue el desarrollo análitico, a pesar de que los códigos tenía un grada de dificultad muy alto cada vez tenemos más experiencia y familiaridad con el lenguaje y la lógica por lo que somos más capaces de resolverlos cuando nos apoyamos de alguna fuente, en cambio con los problemas analíticos por más que leímos y buscamos se nos dificultó demasiado el proceso.
José Antonio Juárez Uriostegui
En lo personal esta práctica es la que más difícil y tediosa se me ha hecho hasta el momento ya que empleamos mucho tiempo para poder resolverla y aun así nos faltó comprender de mejor manera las partes analíticas, aun así pudimos resolver gran parte de la práctica gracias al tutorial y a las fuentes de información con las que contamos.
...