Tarea T14

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 25

Dayana López Tamay

NIP:739276
Grupo: T14
EJERCICIO 1B
Primera parte
a) Leed atentamente la sección 1.8.2 del libro.
b) Programad el método de Heun para resolver aproximadamente el
problema de valor inicial.
function [T,U]=heun(fun,t0,tfin,N,y0)
%Método de Heun para aproximar la solución del
%pvi: y’=fun(t,y), y(t0)=y0 en el intervalo (t0,tfin)
h=(tfin-t0)/N;
for i=1:N+1
T(i)=t0+h*(i-1);
End
U(1)=y0;
for i=2:N+1
p1=feval(fun,T(i-1),U(i-1));
p2=feval(fun,T(i),U(i-1)+h*p1);
U(i)=U(i-1)+1/2*(h*(p1+p2));
End
end

c) Utilizad MATLAB para resolver el problema de valor inicial


y’(t) + 3y(t) = x(t), y(0) = 2
si x(t) = 2 sen(3t).

Determinad el régimen transitorio y el permanente de la


respuesta.
El régimen transitorio es el que desaparece con el tiempo
y corresponde con (7*exp(-3*t))/3, por lo que el
permanente será - (2^(1/2)*cos(3*t + pi/4))/3

Escribid el régimen permanente en la forma yp(t) = α


cos(3t + θ) con α ≥ 0.

Representad en un mismo gráfico la respuesta y su régimen


permanente.

d) Utilizad el método de Euler para aproximar la solución del


problema de valor inicial dado en el intervalo [0, 4] con h =
0,2; h = 0,1 y h = 0,05. Representad en la misma gráfica las
soluciones aproximadas obtenidas y la solución exacta
calculada en el apartado c. Calculad el máximo del error en
los nodos.
La N la hemos calculado a partir de la igualdad
h=(tfin-tinicial)/N, despajamos N y obtenemos 20, 40 y
80 para 0.2,0.1 y 0.05 respectivamente.
Escribimos la función de la siguiente manera
despejando y:
function [derY] = funp1e1(t,y)
derY = 2*sin(3*t)-3*y;
end
comprobamos que este bien definida
e) Repetid el apartado d. utilizando el método de Heun
f) Completad la siguiente tabla y estudiad el orden de
convergencia.
h Error máximo con Euler Error máximo con Heun
0,2 0,1039 0,0384
0,1 0,04650 0,0087
0,05 0,0221 0,0020

0,1039/0,04650=2,2344 mas o menos 2 orden 1 (Euler)


0,04650/0,0221=2,104 más o menos 2 orden 1 (Euler)
0,0384/0,0087=4,4138 más o menos 4 orden 2 (Heun)
0,0087/0,0020=4,35 mas o menos 4 orden 2(Heun)

g) Utilizad el método de Heun para aproximar la solución del problema


de valor inicial

𝑦 ′ (𝑡) + 3𝑦(𝑡) = 𝑥(𝑡), y(0) = 2


si x(t) =2sen(t3)
function [derY] = funp1e2(t,y)

derY = 2*sin(t^3)-3*y;

end
Segunda parte
a) Resolved con Matlab el problema de valor inicial

𝑦 ′′ (𝑡) + 2√2𝑦 ′ (𝑡) + 4𝑦(𝑡) = 4𝑥(𝑡)


𝑦(0) = 0, 𝑦 ′ (0) = 0
1 1
Si 𝑥(𝑡) = 2 + 2 cos (𝜋𝑡)

Declaro las variables t y(t).

b) Transformad la ecuación diferencial

Hacemos este cambio para poder pasar la


′ (𝑦 ′ )′ ecuación diferencial de orden 2 a 1
𝑥 = 𝑦′ 𝑥 = = 𝑦′′
1 1
𝑥 ′ + 2√2 𝑥(𝑡) + 4𝑦(𝑡) = 4 ( + cos (𝜋𝑡))
2 2
𝑥 − 𝑦′ = 0
1 1
𝑥 ′ + 2√2 𝑥(𝑡) + 4𝑦(𝑡) = 4 ( + cos (𝜋𝑡))
2 2
𝑦′ = 𝑥
1 1
𝑥 ′ = 4 ( + cos (𝜋𝑡)) − 2√2 𝑥(𝑡) − 4𝑦(𝑡) Después de realizar el cambio obtengo este
2 2
sistema de dos ecuaciones.
𝑥 ′ (0) = 0 𝑦(0) = 0
c) Utilizad el método de Euler para aproximar la solución en el
intervalo [0, 8] tomando h = 0,2; h = 0,1 y h = 0,05.
Representad en la misma grafica la solución exacta y las
aproximaciones obtenidas. Calculad el máximo del error en los
nodos.
function [T,U] = meteuler2(fun1,fun2,t0,tfin,N,y0,x0)
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
h=(tfin-t0)/N;
for i=1:N+1
T(i) = t0 + h*(i-1);
End
U(1)=y0;
V(1)=x0;
for i=2:N+1
U(i) = U(i-1)+ h*feval(fun1,T(i-1),U(i-1),V(i-1));
V(i) = V(i-1)+ h*feval(fun2,T(i-1),U(i-1),V(i-1));
end
end

Definimos las funciones despejando derx y dery:

function [derX] = funp2e2(t,y,x)


derX=4*(1/2-1/2*cos(pi*t))-2*x*sqrt(2)-4*y;
end
function [derY] = funp2e1(t,y,x)
derY=x;
end

Ahora procedemos a calcular por el método de Euler


modificado.
d) Repetid el apartado c. utilizando el método de Heun.
Al igual que en el caso anterior hay que modificar el método de
Heun para que nos calcule con dos funciones

function [T,U]=heun2(fun1,fun2,t0,tfin,N,y0,x0)
%Método de Heun para aproximar la solución del
%pvi: y’=fun(t,y), y(t0)=y0 en el intervalo (t0,tfin)
h=(tfin- t0)/N;
for i=1:N+1
T(i)=t0+h*(i-1);
end
U(1)=y0;
V(1)=x0;
for i=2:N+1
p1=feval(fun1,T(i-1),U(i-1),V(i-1));
q1=feval(fun2,T(i-1),U(i-1),V(i-1));
p2=feval(fun1,T(i),U(i-1)+h*p1,V(i-1));
q2=feval(fun2,T(i),U(i-1),V(i-1)+h*q1);
U(i)=U(i-1)+1/2*(h*(p1+p2));
V(i)=V(i-1)+1/2*(h*(q1+q2));
end
end
e) Completad la siguiente tabla y estudiad el orden de
convergencia.

h Error máximo con Euler Error máximo con Heun


0,2 0,3413 O,2542
0,1 0,2496 0,2254
0,05 0,2125 0,2032

En este caso el orden de convergencia tanto para heun como Euler


será 1.

f) Utilizad el método de Heun para aproximar la solución


del problema de valor inicial

𝑦 ′′ (𝑡) + √2𝑦 ′ (𝑡) + 4𝑦(𝑡) = 4𝑥(𝑡)


𝑦(0) = 0, 𝑦 ′ (0) = 0
1 1
Si 𝑥(𝑡) = 2 + 2 cos (𝜋𝑡 2 )

function [derY] = funp3e1(t,y,x)


derY=x;
end
function [derX] = funp3e2(t,y,x)
derX=4*(1/2-1/2*cos(pi*t^2))-2*x*sqrt(2)-4*y;
end
EJERCICO 2A
Consideremos un condensador compuesto por dos placas conductoras
rectangulares y un material dieléctrico entre ellas.

Si la separación entre las dos placas es pequeña comparada con


sus dimensiones, el potencial eléctrico en el medio viene dado
por el problema de contorno
𝑑 𝑑𝑉
− (𝜀(𝑥) ) = 𝜌𝐿 (𝑥) 𝑥𝜖(0, 𝐿)
𝑑𝑥 𝑑𝑥
𝑉(0) = 𝑉0 , 𝑉(𝐿) = 𝑉𝐿

donde ε(x) es la permitividad del medio, ρν = 0 al ser el


material dieléctrico y V0 y VL son los valores del potencial en
las placas.
En todo lo que sigue considera L = 0,04; V0 = 1 y VL = 0.
𝑥
1. Si 𝜀(𝑥) = 𝜀0 (1 + 𝐿 ) con 𝜀0 = 8,85 ∗ 10−12
a) Probad que el problema de contorno es equivalente a
1
𝑉 ′′ (𝑥) + 𝑉′(𝑥) = 0, 𝑥𝜖(0, 𝐿)
𝐿+𝑥
𝑉(0) = 𝑉0 , 𝑉(𝐿) = 𝑉𝐿

b) Resolved con Matlab el problema (P).


c) Resolvedlo ahora de manera aproximada utilizando
diferencias finitas centrales tomando N=10 y N=20.
Representad la solución exacta y las soluciones
aproximadas obtenidas.
function [p] = funp1(x)
p =-(1/(0.04+x));
end

function [q]=funq1 (x)


q=0;
end

function [p]=funr1 (x)


r=0;
end
d) Completad la siguiente tabla y estudiad el orden de
convergencia

N Error máximo
10
20

En este apartado no puedo hacer la convergencia ya que debido a


algún problema (que no encuentro), los errores no me van de
0…..0 como tendría que salir, por lo que al calcular el máximo
error me salen los mismos.
EJERCICIO 3 A
Considerad el problema de valor inicial y de contorno para
la ecuación de ondas
𝜕𝑢 𝜕𝑢
(𝑥, 𝑡) = (𝑥, 𝑡) 𝑥 𝜖(0, 𝜋), 𝑡 (0,1]
𝜕𝑥 𝜕𝑥
𝑢(0, 𝑡) = 0, 𝑢(, 𝑡) = 0 𝑡 𝜖[0,1]
𝜕𝑢
𝑢(𝑥, 0) = 𝑠𝑒𝑛(𝑥), (𝑥, 0) = 4𝑠𝑒𝑛(2𝑥) 𝑥𝜖 [0, 𝜋 ]
𝜕𝑡

1. Comprobad con MATLAB que


𝑢(𝑥, 𝑡) = 𝑠𝑒𝑛(𝑥) cos(𝑡) + 2𝑠𝑒𝑛𝑡(2𝑥)𝑠𝑒𝑛(2𝑡)
es solución del problema anterior.
Para comprobar que u(x,t) es solución del problema de valor
inicial y de contorno he hecho lo siguiente:
Primero he definido u(x,t), una vez que he realizado esto
hago la derivada segunda respecto a t y la derivada
segunda respecto a x, observando que ambas derivadas son
iguales (0) por lo que se cumple esa igualdad
Luego hacemos lo mismo con las condiciones iniciales, que
ambas dan 0, para u(0,t) y u(pi,t) respectivamente, esta
condición también se cumple
Y por último con las condiciones de contorno u(x,0) y
∂u
(x, 0) observamos que nos sale sin(x) y 4 sin(2x)
∂t
respectivamente, por lo que llego a la conclusión que
u(x,r) si es solución del problema de valor inicial y de
contorno.
2. Utilizad el esquema en diferencias explícito que vimos en la
práctica 5 para resolver de manera aproximada el problema
anterior tomando N = 10 y M = 10
function [y]= e1f1(x)
function [y]= e1f2(x)
y=sin(x);
y=4*sin(2*x);
end
end
function [y]= e1g1(x)
y =0; function [y]= e1g2(x)
end y=0;
end
a. Representad en el mismo gráfico la solución exacta y la
aproximada en el nivel de tiempo 1. Repetid la
representación gráfica para los niveles de tiempo 5 y
10.

Para nivel 1

Para nivel 5
Para nivel 10

b. Calculad la matriz de errores y el error máximo.


3. Repetid el apartado 2 para N = 20 y M = 20
4. Repetid el apartado 2 para N = 40 y M = 40.
5. Comentad los resultados obtenidos
Lo que observamos a medida que M va siendo mayor, es que las
graficas van siendo mas exactas, es decir va teniendo menos
picos hasta llegar a ser una onda en este caso sin picos .

También podría gustarte