Вы находитесь на странице: 1из 45

TAREA N°1

Campos eléctricos y magnéticos

Nombre: Sofía Santander

Profesor: Sebastián Godoy

Fecha: 13 de octubre de 2019

Códigos y gráficos de un pulso Gaussiano para distintos valores de "S".

Para S = 1

S = 1; %CONSTANTE DE PROPAGACIÓN

imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) exp(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

y(1) = fx(n);

if n == 20
figure(100)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(101)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60
figure(102)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(103)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(104)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end

1
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
+ 2*y(i) ...
- ym1(i);
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)
end

2
3
Para S = 0.99

4
S = 0.99; %CONSTANTE DE PROPAGACIÓN

imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) exp(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

y(1) = fx(n);

if n == 20
figure(200)
plot(1:imax,yp1(1:imax),'c','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(7)
plot(1:imax,yp1(1:imax),'c','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60
figure(8)
plot(1:imax,yp1(1:imax),'c','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(9)
plot(1:imax,yp1(1:imax),'c','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(10)
plot(1:imax,yp1(1:imax),'c','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
+ 2*y(i) ...
- ym1(i);
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)

end

5
6
Para S = 0.5

7
S = 0.5; %CONSTANTE DE PROPAGACIÓN

imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) exp(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

y(1) = fx(n);

if n == 20
figure(11)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(12)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60
figure(13)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(14)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(15)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
+ 2*y(i) ...
- ym1(i);
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)
end

8
9
10
Para S = 2

S = 2; %CONSTANTE DE PROPAGACIÓN

imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) exp(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

y(1) = fx(n);

if n == 20
figure(16)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(17)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60

11
figure(18)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(19)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(20)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
+ 2*y(i) ...
- ym1(i);
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)
end

12
13
Para S = 0.1

14
S = 0.1; %CONSTANTE DE PROPAGACIÓN

imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) exp(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

y(1) = fx(n);
if n == 20
figure(21)
plot(1:imax,yp1(1:imax),'r','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(22)
plot(1:imax,yp1(1:imax),'r','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60
figure(23)
plot(1:imax,yp1(1:imax),'r','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(24)
plot(1:imax,yp1(1:imax),'r','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(25)
plot(1:imax,yp1(1:imax),'r','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
+ 2*y(i) ...
- ym1(i);
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)
end

15
16
17
Imaginemos que en estos casos se tiene una cuerda atada en un punto fijo en una pared.

1. GENERE UN PULSO GAUSSIANO Y COMPARE LA PROPAGACIÓN DE ESTE PULSO PARA S=1 Y


S=0.99
Los pulsos con S = 1 y S = 0.99 son casi iguales (esto quiere decir que en los medios
en que se propagan estas ondas son muy similares), se nota una pequeña diferencia
en la cresta del pulso. Ambas al llegar al extremo (punto fijo) parte del pulso se
refleja invertida con respecto al pulso incidente y otra parte es absorbida por la
pared. Tenemos que la velocidad cambia de sentido y que además los pulsos reflejado e
incidente se mueven con velocidades del mismo módulo ya que estos no cambian de medio.

Se puede explicar la inversión del pulso reflejado por la tercera ley de Newton.

2. GENERE UN PULSO GAUSSIANO Y COMPARE LA PROPAGACIÓN DE ESTE PULSO PARA S=1 Y


S=0.5
En este caso, las ondas con S = 1 y S = 0.5 ya se diferencian más ya que son medios
distintos. La onda que se produce con S=0.5 tiene una cresta muy distinta a la onda con
S=1, además que, llegando al extremo, parte de la onda se refleja invertida respecto
a la onda incidente y la otra parte es absorbida por la pared, además que empieza a
aparecer “ruido” de menor amplitud antes y después de su reflexión.

Al igual que en la parte 1, tenemos que la velocidad cambia de sentido y que además los
pulsos reflejado e incidente se mueven con velocidades del mismo módulo ya que estos no
cambian de medio.

3. EXPLIQUE EL SIGNIFICADO FISICO DE TENER S=1 EN ESTAS SIMULACIONES

18
Cuando se tiene un S distinto de 1, se tiene que el medio cambia, esto quiere decir que
la onda ya no sería “perfecta”, y en ellas va cambiando su cresta y van apareciendo
perturbaciones en éstas.

Si disminuimos el valor de S, se tendría que el medio es más denso o más pesado, por
lo que la velocidad con la que se mueve el pulso disminuiría, esto quiere decir que
también recorrería una menor distancia, además, la frecuencia del pulso aumenta y así
su longitud de onda disminuye.

Códigos y gráficos de un pulso rectangular para distintos valores de "S".

Para S = 1

S = 1; %CONSTANTE DE PROPAGACIÓN

imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) rectpuls(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

y(1) = fx(n);

if n == 20
figure(26)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(27)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60
figure(28)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(29)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(30)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
+ 2*y(i) ...
19
- ym1(i);
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)
end

20
21
Para S = 0.99

22
S = 0.99; %CONSTANTE DE PROPAGACIÓN

imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) rectpuls(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

y(1) = fx(n);

if n == 20
figure(31)
plot(1:imax,yp1(1:imax),'c','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(32)
plot(1:imax,yp1(1:imax),'c','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60
figure(33)
plot(1:imax,yp1(1:imax),'c','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(34)
plot(1:imax,yp1(1:imax),'c','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(35)
plot(1:imax,yp1(1:imax),'c','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
+ 2*y(i) ...
- ym1(i);
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)
end

23
24
25
Para S = 0.5

S = 0.5; %CONSTANTE DE PROPAGACIÓN

imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) rectpuls(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

y(1) = fx(n);

if n == 20
figure(36)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(37)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60
figure(38)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)

26
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(39)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(40)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
+ 2*y(i) ...
- ym1(i);
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)
end

27
28
4. EXPLIQUE EL QUE OBSERVA Y EL PORQUÉ SUCEDE ESTA SITUACIÓN
Para los tres valores de S se tiene que al llegar al extremo ocurre una reflexión. Se
tiene que para S = 0.99 el pulso en su cresta tiene perturbaciones. Para S = 0.5 se

29
tiene que el pulso ya no es rectangular, si no, que parece un pulso gaussiano parecido
al del ítem anterior.

En un pulso rectangular según el análisis de Fourier se compone de muchas ondas


de diferentes frecuencias, se distorsionará conforme viaja por la línea porque sus
diferentes componentes de frecuencia no se propagarán a la misma velocidad

Para el caso de S=0.9 se tiene que la línea dispersora es muy larga, por eso se deben
sus perturbaciones en su cresta, no así para S=0.5, que su línea de dispersora es más
corta, lo que hace que el pulso rectangular se comporte más como un pulso gaussiano
como el que vimos en los ítems anteriores.

Código y gráfico para cuando la onda cambia de un medio a otro.


De un S = 1 a S = 0.5.

Para un pulso gaussiano

imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) exp(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

y(1) = fx(n);

if n == 20
figure(41)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(42)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60
figure(43)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(44)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(45)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
30
+ 2*y(i) ...
- ym1(i);
S = 1; %CONSTANTE DE PROPAGACIÓN
if i > 25
S = 0.5; %CONSTANTE DE PROPAGACIÓN
end
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)
end

31
32
Para un pulso rectangular

33
imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) rectpuls(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

y(1) = fx(n);

if n == 20
figure(41)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(42)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60
figure(43)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(44)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(45)
plot(1:imax,yp1(1:imax),'g','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
+ 2*y(i) ...
- ym1(i);
S = 1; %CONSTANTE DE PROPAGACIÓN
if i > 25
S = 0.5; %CONSTANTE DE PROPAGACIÓN
end
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)
end

34
35
36
5. EXPLIQUE QUE SUCEDE CON LA ONDA ELECTROMAGNÉTICA Y EXPLIQUE SU RESULTADO
Si tenemos que este pulso refleja a dos cuerdas atadas de distintas densidades de masa
lineal, S = 1 es la cuerda más liviana. Cuando i=25, se tiene que el pulso pasa de un
medio más liviano a otro menos liviano, por lo tanto, parte de la onda se refleja de
forma invertida y el resto se trasmite al nuevo medio. Éstas se reflejan y refractan
con menos amplitud.

Para el pulso rectangular notamos que aparecen perturbaciones en su cresta pero a


diferencia del ítem 6, ésta tiene más parecido a un pulso rectangular.

En este caso ocurre reflexión y refracción.

De S = 1 a un S = 0.4

Para un pulso gaussiano

imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) exp(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

37
y(1) = fx(n);

if n == 20
figure(46)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(47)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60
figure(48)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(49)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(50)
plot(1:imax,yp1(1:imax),'m','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
+ 2*y(i) ...
- ym1(i);
S = 1; %CONSTANTE DE PROPAGACIÓN
if i > 12.5
S = 0.4; %CONSTANTE DE PROPAGACIÓN
elseif i > 25
S = 1;
elseif i > 37.5
S = 0.4;
end
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)
end

38
39
40
Para un pulso rectangular

S=1;
imax = 50;
nmax = 100;
y = zeros(1,imax);
ym1 = zeros(1,imax);
yp1 = zeros(1,imax);
fx = @(x) rectpuls(-(x-20).^2./20); %FUNCIÓN PRINCIPAL

for n = 1 : nmax %ITERACIÓN PRINCIPAL

y(1) = fx(n);

if n == 20
figure(46)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 40
figure(47)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 60
figure(48)

41
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 80
figure(49)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
elseif n == 100
figure(50)
plot(1:imax,yp1(1:imax),'y','LineWidth',2)
title(sprintf('Grafico para n = %d',n))
end
for i = 2 : imax-1
yp1(i) = S*(y(i+1) + y(i-1) -2*y(i)) ...
+ 2*y(i) ...
- ym1(i);
S = 1; %CONSTANTE DE PROPAGACIÓN
if i > 12.5
S = 0.4; %CONSTANTE DE PROPAGACIÓN
elseif i > 25
S = 1;
elseif i > 37.5
S = 0.4;
end
end

yp1(1) = 0; %CONDICIÓN DE CONTORNO


yp1(imax) = 0; %CONDICIÓN DE CONTORNO

ym1 = y;
y = yp1;

drawnow
pause(0.1)
end

42
43
44
6. EXPLIQUE EL RESULTADO
En este caso ocurre lo mismo que en el ítem 5, pero en el momento en que el pulso pasa
de S=0.5 a S=1, la onda estaría pasando de una cuerda menos ligera a otra más ligera,
por lo que parte del pulso se refleja de forma no invertida ya que la cuerda más ligera
hace que se pueda oscilar en la intersección de cuerdas. Y así sucesivamente. Se nota
en el pulso rectangular que empiezan a aparecer oerturbaciones y que nuevamente no
parece un pulso rectangular, si no que mas bien un pulso gaussiano.

45

Вам также может понравиться