MARCOS
CODIGO: 15130147
2u 2u
c 2
....(1)
x 2 t 2
Para la cuerda vibrante:
C.F.2 u 1, t 0
t
2
x
2ui , j 1 2 2ui , j 2ui 1, j 2ui , j ui , j 1 ui, j i
ui , j 1 ui , j 1
0 ui , j 1 ui , j 1...(5)
2t
Reemplazando (5) en (4):
esta ecuación se usa solo una vez y luego se usa para los demás tiempos la ecuación (4)
ejemplo de aplicación:
calcular las desviaciones en una cuerda de longitud 1cm, con un paso de tiempo de
0.05s, en un intervalo de tiempo de 0.2s.
u 0, t 0
u u
2 2
4 u 1, t 0
x 2 t 2
u x, 0 sen( x) 0 x 1
ut ( x, 0) g ( x) 0 x 1
ui , j 1
1
2
ui1, j ui1, j (algoritmo del problema dado)
LONGITUD DE LA CUERDA
nodo inicial nodos interiores nodo final
TIEMPO 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0 0 0.30901769 0.58778644 0.80901829 0.95105742 1 0.95105515 0.80901397 0.5877805 0.30901071 0
0.05 0 0.29389322 0.55901799 0.76942193 0.90450914 0.95105629 0.90450699 0.76941783 0.55901234 0.29389025 0
0.1 0 0.279509 0.53165758 0.73176357 0.86023911 0.90450807 0.86023706 0.73175966 0.53165404 0.27950617 0
0.15 0 0.26582879 0.50563628 0.69594834 0.81813582 0.86023808 0.81813386 0.69594555 0.50563292 0.26582702 0
0.2 0 0.25281814 0.48088857 0.66188605 0.77809321 0.81813484 0.77809182 0.66188339 0.48088628 0.25281646 0
Variación de la desviación de la cuerda respecto al la
longitud de la cuerda y el tiempo
1.2
1
desviacion(cm)
0.8
0.6
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
longitud de la cuerda(cm)
U0(j)=sin(pi*xx(j));
end
V0=zeros(size(xx));%Preasignación de V0.
%Matriz K
K=1/h^2*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-
2),1));
%Término F y valor inicial
F=0*xx;
F(1)=F(1)+ua/h^2;
F(end)=F(end)+ub/h^2;
%Resolución del sistema de ecuaciones de EDO de orden 1.
t0=0;tM=0.2;
k=0.05; %Paso en t.
t=t0:k:tM; %Discretización del vector de tiempos.
M=length(t)-1; %Número de subintervalos.
%Añadimos en la primera columna las condiciones iniciales.
U(:,1)=U0;
V(:,1)=V0;
for i=1:M
%Resolución del sistema de ecuaciones por el método del trapecio
U(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(U(:,i)+0.5*k*(2*V(:,i)+0.5*k*(-
K*U(:,i)+2*F)));
V(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(V(:,i)+0.5*k*(-K*U(:,i)+2*F)-
0.5*k*K*(U(:,i)+0.5*k*V(:,i)));
end
%Incluimos condiciones Dirichlet.
UA=ua*ones(1,length(t));
UB=ub*ones(1,length(t));
U=[UA;U;UB];
%Dibujamos el gráfico.
[Mt,Mx]=meshgrid(t,x);
mesh(Mx,Mt,U)
xlabel('Longitud (cm)'); ylabel('Tiempo (s)'); zlabel('Posición (cm)');
Analizando mediante la aplicación PDETOOL: