<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Diego+Garc%C3%ADa+Vaquero</id>
		<title>MateWiki - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Diego+Garc%C3%ADa+Vaquero"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Diego_Garc%C3%ADa_Vaquero"/>
		<updated>2026-04-28T16:25:54Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24643</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24643"/>
				<updated>2015-03-03T13:09:56Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. (Grupo 5-C). | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado que saca Octave por pantalla del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
El tiempo para el cual queda el 8% del contenido incial de Carbono 14 es '''20369 años'''.&lt;br /&gt;
&lt;br /&gt;
==Vida media. Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
'''La vida media que da el programa es de 5592,51 años'''.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
%% Datos iniciales:&lt;br /&gt;
% Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
% Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
% Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
 &lt;br /&gt;
% Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
 &lt;br /&gt;
% Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
 &lt;br /&gt;
% Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
% Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
 &lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
 &lt;br /&gt;
% Un sistema Lineal:&lt;br /&gt;
% y'=My+T&lt;br /&gt;
% En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
 &lt;br /&gt;
% M=(-k1    0)&lt;br /&gt;
%   ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
 &lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
 &lt;br /&gt;
for i=1:N&lt;br /&gt;
    y(:,i+1)=y(:,i)+h*(M*y(:,i)); % Euler&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
% Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
 &lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de los elementos')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SisEu1.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
%% Datos iniciales:&lt;br /&gt;
% Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
% Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
% Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
 &lt;br /&gt;
% Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
 &lt;br /&gt;
% Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
 &lt;br /&gt;
% Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá construyéndose.&lt;br /&gt;
% Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
 &lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
 &lt;br /&gt;
% Un sistema Lineal:&lt;br /&gt;
% y'=My+T&lt;br /&gt;
% En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
 &lt;br /&gt;
% M=(-k1    0)&lt;br /&gt;
%   ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
 &lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
% Para el Trapecio:&lt;br /&gt;
% y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
% En este caso:&lt;br /&gt;
% y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
% Despejando manualmente:&lt;br /&gt;
% [1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
% Llamando Z a:&lt;br /&gt;
% Z=[1-(h/2)*M]&lt;br /&gt;
% Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
% Y queda finalmente:&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
 &lt;br /&gt;
for i=1:N&lt;br /&gt;
    Z=eye(2)-(h/2)*M;&lt;br /&gt;
    y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
% Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
 &lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de los elementos')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:SisTrap1.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:SisEu2.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:SisTrap2.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:SisEu2.png&amp;diff=24642</id>
		<title>Archivo:SisEu2.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:SisEu2.png&amp;diff=24642"/>
				<updated>2015-03-03T13:09:38Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24641</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24641"/>
				<updated>2015-03-03T13:08:07Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. (Grupo 5-C). | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado que saca Octave por pantalla del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
El tiempo para el cual queda el 8% del contenido incial de Carbono 14 es '''20369 años'''.&lt;br /&gt;
&lt;br /&gt;
==Vida media. Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
'''La vida media que da el programa es de 5592,51 años'''.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
%% Datos iniciales:&lt;br /&gt;
% Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
% Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
% Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
 &lt;br /&gt;
% Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
 &lt;br /&gt;
% Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
 &lt;br /&gt;
% Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
% Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
 &lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
 &lt;br /&gt;
% Un sistema Lineal:&lt;br /&gt;
% y'=My+T&lt;br /&gt;
% En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
 &lt;br /&gt;
% M=(-k1    0)&lt;br /&gt;
%   ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
 &lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
 &lt;br /&gt;
for i=1:N&lt;br /&gt;
    y(:,i+1)=y(:,i)+h*(M*y(:,i)); % Euler&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
% Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
 &lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de los elementos')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SisEu1.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
%% Datos iniciales:&lt;br /&gt;
% Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
% Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
% Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
 &lt;br /&gt;
% Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
 &lt;br /&gt;
% Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
 &lt;br /&gt;
% Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá construyéndose.&lt;br /&gt;
% Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
 &lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
 &lt;br /&gt;
% Un sistema Lineal:&lt;br /&gt;
% y'=My+T&lt;br /&gt;
% En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
 &lt;br /&gt;
% M=(-k1    0)&lt;br /&gt;
%   ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
 &lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
% Para el Trapecio:&lt;br /&gt;
% y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
% En este caso:&lt;br /&gt;
% y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
% Despejando manualmente:&lt;br /&gt;
% [1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
% Llamando Z a:&lt;br /&gt;
% Z=[1-(h/2)*M]&lt;br /&gt;
% Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
% Y queda finalmente:&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
 &lt;br /&gt;
for i=1:N&lt;br /&gt;
    Z=eye(2)-(h/2)*M;&lt;br /&gt;
    y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
% Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
 &lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de los elementos')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:SisTrap1.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:SisTrap2.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:SisTrap2.png&amp;diff=24640</id>
		<title>Archivo:SisTrap2.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:SisTrap2.png&amp;diff=24640"/>
				<updated>2015-03-03T13:07:39Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24639</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24639"/>
				<updated>2015-03-03T13:04:10Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. (Grupo 5-C). | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado que saca Octave por pantalla del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
El tiempo para el cual queda el 8% del contenido incial de Carbono 14 es '''20369 años'''.&lt;br /&gt;
&lt;br /&gt;
==Vida media. Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
'''La vida media que da el programa es de 5592,51 años'''.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
%% Datos iniciales:&lt;br /&gt;
% Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
% Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
% Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
 &lt;br /&gt;
% Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
 &lt;br /&gt;
% Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
 &lt;br /&gt;
% Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
% Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
 &lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
 &lt;br /&gt;
% Un sistema Lineal:&lt;br /&gt;
% y'=My+T&lt;br /&gt;
% En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
 &lt;br /&gt;
% M=(-k1    0)&lt;br /&gt;
%   ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
 &lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
 &lt;br /&gt;
for i=1:N&lt;br /&gt;
    y(:,i+1)=y(:,i)+h*(M*y(:,i)); % Euler&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
% Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
 &lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de los elementos')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SisEu1.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
%% Datos iniciales:&lt;br /&gt;
% Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
% Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
% Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
 &lt;br /&gt;
% Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
 &lt;br /&gt;
% Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
 &lt;br /&gt;
% Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá construyéndose.&lt;br /&gt;
% Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
 &lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
 &lt;br /&gt;
% Un sistema Lineal:&lt;br /&gt;
% y'=My+T&lt;br /&gt;
% En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
 &lt;br /&gt;
% M=(-k1    0)&lt;br /&gt;
%   ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
 &lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
% Para el Trapecio:&lt;br /&gt;
% y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
% En este caso:&lt;br /&gt;
% y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
% Despejando manualmente:&lt;br /&gt;
% [1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
% Llamando Z a:&lt;br /&gt;
% Z=[1-(h/2)*M]&lt;br /&gt;
% Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
% Y queda finalmente:&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
 &lt;br /&gt;
for i=1:N&lt;br /&gt;
    Z=eye(2)-(h/2)*M;&lt;br /&gt;
    y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
% Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
 &lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de los elementos')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:SisTrap1.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24638</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24638"/>
				<updated>2015-03-03T13:03:04Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Sistemas de ecuaciones lineales: Método de Euler y trapecio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado que saca Octave por pantalla del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
El tiempo para el cual queda el 8% del contenido incial de Carbono 14 es '''20369 años'''.&lt;br /&gt;
&lt;br /&gt;
==Vida media. Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
'''La vida media que da el programa es de 5592,51 años'''.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
%% Datos iniciales:&lt;br /&gt;
% Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
% Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
% Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
 &lt;br /&gt;
% Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
 &lt;br /&gt;
% Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
 &lt;br /&gt;
% Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
% Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
 &lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
 &lt;br /&gt;
% Un sistema Lineal:&lt;br /&gt;
% y'=My+T&lt;br /&gt;
% En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
 &lt;br /&gt;
% M=(-k1    0)&lt;br /&gt;
%   ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
 &lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
 &lt;br /&gt;
for i=1:N&lt;br /&gt;
    y(:,i+1)=y(:,i)+h*(M*y(:,i)); % Euler&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
% Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
 &lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de los elementos')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SisEu1.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
%% Datos iniciales:&lt;br /&gt;
% Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
% Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
% Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
 &lt;br /&gt;
% Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
 &lt;br /&gt;
% Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
 &lt;br /&gt;
% Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá construyéndose.&lt;br /&gt;
% Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
 &lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
 &lt;br /&gt;
% Un sistema Lineal:&lt;br /&gt;
% y'=My+T&lt;br /&gt;
% En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
 &lt;br /&gt;
% M=(-k1    0)&lt;br /&gt;
%   ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
 &lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
% Para el Trapecio:&lt;br /&gt;
% y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
% En este caso:&lt;br /&gt;
% y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
% Despejando manualmente:&lt;br /&gt;
% [1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
% Llamando Z a:&lt;br /&gt;
% Z=[1-(h/2)*M]&lt;br /&gt;
% Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
% Y queda finalmente:&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
 &lt;br /&gt;
for i=1:N&lt;br /&gt;
    Z=eye(2)-(h/2)*M;&lt;br /&gt;
    y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
% Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
 &lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de los elementos')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:SisTrap1.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:SisTrap1.png&amp;diff=24637</id>
		<title>Archivo:SisTrap1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:SisTrap1.png&amp;diff=24637"/>
				<updated>2015-03-03T13:01:27Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24636</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24636"/>
				<updated>2015-03-03T12:57:30Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Sistemas de ecuaciones lineales: Método de Euler y trapecio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado que saca Octave por pantalla del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
El tiempo para el cual queda el 8% del contenido incial de Carbono 14 es '''20369 años'''.&lt;br /&gt;
&lt;br /&gt;
==Vida media. Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
'''La vida media que da el programa es de 5592,51 años'''.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
%% Datos iniciales:&lt;br /&gt;
% Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
% Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
% Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
 &lt;br /&gt;
% Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
 &lt;br /&gt;
% Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
 &lt;br /&gt;
% Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
% Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
 &lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
 &lt;br /&gt;
% Un sistema Lineal:&lt;br /&gt;
% y'=My+T&lt;br /&gt;
% En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
 &lt;br /&gt;
% M=(-k1    0)&lt;br /&gt;
%   ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
 &lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
 &lt;br /&gt;
for i=1:N&lt;br /&gt;
    y(:,i+1)=y(:,i)+h*(M*y(:,i)); % Euler&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
% Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
 &lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de los elementos')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SisEu1.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:SisEu1.png&amp;diff=24635</id>
		<title>Archivo:SisEu1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:SisEu1.png&amp;diff=24635"/>
				<updated>2015-03-03T12:56:31Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24634</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24634"/>
				<updated>2015-03-03T12:55:25Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Sistemas de ecuaciones lineales: Método de Euler y trapecio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado que saca Octave por pantalla del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
El tiempo para el cual queda el 8% del contenido incial de Carbono 14 es '''20369 años'''.&lt;br /&gt;
&lt;br /&gt;
==Vida media. Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
'''La vida media que da el programa es de 5592,51 años'''.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
%% Datos iniciales:&lt;br /&gt;
% Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
% Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
% Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
 &lt;br /&gt;
% Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
 &lt;br /&gt;
% Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
 &lt;br /&gt;
% Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
% Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
 &lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
 &lt;br /&gt;
% Un sistema Lineal:&lt;br /&gt;
% y'=My+T&lt;br /&gt;
% En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
 &lt;br /&gt;
% M=(-k1    0)&lt;br /&gt;
%   ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
 &lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
 &lt;br /&gt;
for i=1:N&lt;br /&gt;
    y(:,i+1)=y(:,i)+h*(M*y(:,i)); % Euler&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
% Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
 &lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de los elementos')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24633</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24633"/>
				<updated>2015-03-03T12:51:36Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Interpretación de las funciones M(t) y la constante K */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado que saca Octave por pantalla del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
El tiempo para el cual queda el 8% del contenido incial de Carbono 14 es '''20369 años'''.&lt;br /&gt;
&lt;br /&gt;
==Vida media. Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
'''La vida media que da el programa es de 5592,51 años'''.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24632</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24632"/>
				<updated>2015-03-03T12:49:58Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Interpretación de las funciones M(t) y la constante K */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''&amp;lt;math&amp;gt;m=m(t)&amp;lt;/math&amp;gt;''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado que saca Octave por pantalla del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
El tiempo para el cual queda el 8% del contenido incial de Carbono 14 es '''20369 años'''.&lt;br /&gt;
&lt;br /&gt;
==Vida media. Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
'''La vida media que da el programa es de 5592,51 años'''.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24631</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24631"/>
				<updated>2015-03-03T12:45:42Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Resolución por el método de Runge-Kutta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado que saca Octave por pantalla del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
El tiempo para el cual queda el 8% del contenido incial de Carbono 14 es '''20369 años'''.&lt;br /&gt;
&lt;br /&gt;
==Vida media. Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
'''La vida media que da el programa es de 5592,51 años'''.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24630</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24630"/>
				<updated>2015-03-03T12:44:03Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Resolución por el método del Trapecio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado que saca Octave por pantalla del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
El tiempo para el cual queda el 8% del contenido incial de Carbono 14 es '''20369 años'''.&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24629</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24629"/>
				<updated>2015-03-03T12:41:57Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Método Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24628</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24628"/>
				<updated>2015-03-03T12:41:07Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Método Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un '''contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo'''. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24627</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24627"/>
				<updated>2015-03-03T12:40:49Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Método Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un Vcontenido en C14 que resulta ser del 8% del que se encuentra en un ser vivoV. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes '''pasos h = 0.1 y h = 0.01'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24626</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24626"/>
				<updated>2015-03-03T12:40:05Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Interpretación de las funciones M(t) y la constante K */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función '''m=m(t)''', la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; '''dm/dt = -k.m '''(k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante '''k''' se denomina '''constante de rapidez''' ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes pasos h = 0.1 y h = 0.01. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24625</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24625"/>
				<updated>2015-03-03T12:35:10Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Resolución por el método de Runge-Kutta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función m=m(t), la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; dm/dt = -k.m (k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante k se denomina constante de rapidez ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes pasos h = 0.1 y h = 0.01. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)')&lt;br /&gt;
ylabel('Cantidad de Carbono 14')&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24624</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24624"/>
				<updated>2015-03-03T12:33:18Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Resolución por el método de Runge-Kutta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función m=m(t), la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; dm/dt = -k.m (k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante k se denomina constante de rapidez ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes pasos h = 0.1 y h = 0.01. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rk1.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Rk1.png&amp;diff=24623</id>
		<title>Archivo:Rk1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Rk1.png&amp;diff=24623"/>
				<updated>2015-03-03T12:32:46Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24617</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24617"/>
				<updated>2015-03-03T12:26:29Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función m=m(t), la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; dm/dt = -k.m (k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante k se denomina constante de rapidez ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes pasos h = 0.1 y h = 0.01. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%% Trapecio&lt;br /&gt;
 &lt;br /&gt;
% y´=f(t,y);&lt;br /&gt;
% y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
% y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
% Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
% M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
% En este caso, cuando se despeja manualmente:&lt;br /&gt;
% y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
% (1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
% y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%% SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
% Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
% Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rungekuttavidamedia(2).png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24616</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=24616"/>
				<updated>2015-03-03T12:24:23Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
Araceli Martín Candilejo&lt;br /&gt;
&lt;br /&gt;
Noemí Palomino Bustos&lt;br /&gt;
&lt;br /&gt;
Teresa Quintana Romero &lt;br /&gt;
&lt;br /&gt;
Alvaro Ramón López&lt;br /&gt;
&lt;br /&gt;
Mercedes Ruiz Barrajón. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Interpretación de las funciones M(t) y la constante K==&lt;br /&gt;
&lt;br /&gt;
Una reacción química se denomina reacción de primer orden si en ella una molécula se descompone en otras espontáneamente, y el número de moléculas que se descompone en una unidad de tiempo es proporcional al número de moléculas existentes. Si se considera una sustancia cuya masa se descompone en función del tiempo según una función m=m(t), la velocidad de descomposición viene dada por la derivada de m(t) respecto de t. Si se supone que esta velocidad es directamente proporcional a la masa, se tiene que; dm/dt = -k.m (k&amp;gt;0 coeficiente de proporcionalidad).&lt;br /&gt;
&lt;br /&gt;
La constante k se denomina constante de rapidez ya que su valor indica una medida de la velocidad a la que se realiza la reacción.&lt;br /&gt;
&lt;br /&gt;
==Método Euler==&lt;br /&gt;
&lt;br /&gt;
Suponenos que un arqueólogo descubre huesos con un contenido en C14 que resulta ser del 8% del que se encuentra en un ser vivo. Si suponemos además que la cantidad de C14 en la atmósfera no ha variado podemos tomar la diferencia de contenido en C14 del hueso antiguo debida únicamente a su desintegración. Conociendo que la constante de desintegración del C14 es 1.24 × 10−4 por año, calcularemos la edad de los restos arqueológicos. Para ello, planteamos un PVI adecuado eligiendo la condición inicial y lo resolveremos por el método de Euler para diferentes pasos h = 0.1 y h = 0.01. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Tiempo (años)');&lt;br /&gt;
ylabel('Cantidad de Carbono 14');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Eulerpaso0.1b.png|500px|thumb|left|Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Eulerpaso0.0b1.png|500px|thumb|center| Evolución de la concentración del C14 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.01]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicando Euler se comprueba que se puede considerar estable la edad de los restos arqueológicos, es decir, el tiempo de desintegración que obtenemos es independiente de la cantidad inicial de la muestra de C14:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Euler_paso_0.1_conc20.png|500px|thumb|left|Evolución de la concentración del C14,desde una concentración inicial=20 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1 ]] [[Image:Euler_paso_0.1_conc60.png|500px|thumb|center|Evolución de la concentración del C14,desde una concentración inicial=60 hasta que se alcanza el 8% de la concentración inicial, según el método de Euler para un paso h=0.1]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
&lt;br /&gt;
Resolveremos el apartado anterior con el método del trapecio utilizando un paso h = 0.1 y con la condición de que el programa se detenga cuando la masa alcance un 8% de la masa inicial. Usando un bucle &amp;quot;while&amp;quot; conseguimos realizar un programa que cumpla esta condición.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%Trapecio&lt;br /&gt;
 &lt;br /&gt;
%y´=f(t,y);&lt;br /&gt;
%y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
%y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
%Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
%M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
%En este caso, cuando se despeja manualmente:&lt;br /&gt;
%y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
%(1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
%y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
%Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Cantidad de Carbono 14');&lt;br /&gt;
ylabel('Tiempo (años)');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trap2.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
&lt;br /&gt;
El conocimiento de la vida media de los elementos radiactivos que hay en la naturaleza se utiliza para asignar fechas a acontecimientos que ocurrieron hace mucho tiempo. Es usual expresar la descomposición de un elemento radiactivo en función de su vida media, es decir, el tiempo necesario para que una cantidad dada del elemento se reduzca a la mitad. Para ello aplicaremos el método de Runge-Kutta.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rungekuttavidamedia(2).png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;br /&gt;
&lt;br /&gt;
==Estudio de la evolución de concentraciones de compuestos interrelacionados==&lt;br /&gt;
&lt;br /&gt;
Consideraremos ahora una descomposición de un elemento A en otro C a través de un elemento o isótopo intermedio B&lt;br /&gt;
[[Archivo:DescomposicionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
donde k1 y k2 son las constantes de desintegración respectivas. Es importante considerar que el elemento C empieza a crearse en cuanto hay elemento B, es decir, podemos tener simultáneamente los 3 elementos. Con este concepto determinaremos el sistema de ecuaciones que nos permitirán conocer las cantidades de cada elemento en cada instante de tiempo. &lt;br /&gt;
[[Archivo:SistEcuacionC14.jpg|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio===&lt;br /&gt;
Le daremos unos valores a las constantes para resolver nuestro sistema, siendo K1=5, y K2=1.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema anterior con el método de Euler:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(:,i+1)=y(:,i)+h*(M*y(:,i));%Euler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Metodo_de_eulerK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método trapecio'''&lt;br /&gt;
&lt;br /&gt;
Ahora aplicaremos el método del trapecio para resolver el sistema:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clf&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales:&lt;br /&gt;
%Tiempo:&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
%Paso:&lt;br /&gt;
h=0.1;&lt;br /&gt;
%Número de subintervalos&lt;br /&gt;
N=(tN-t0)/h; &lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente: El vector tiempo&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
y=zeros(2,N+1);&lt;br /&gt;
&lt;br /&gt;
%Valores de las concentraciones iniciales:&lt;br /&gt;
A0=1;&lt;br /&gt;
B0=0;&lt;br /&gt;
C0=0;&lt;br /&gt;
&lt;br /&gt;
%Las soluciones se recogerán en un vector &amp;quot;y&amp;quot; que irá autoformándose.&lt;br /&gt;
%Inicialmente, sólo se le asignará los valores de las concentraciones iniciales desde las que parte.&lt;br /&gt;
&lt;br /&gt;
y0=[A0,B0]';&lt;br /&gt;
y(:,1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Un sistema Lineal:&lt;br /&gt;
%y'=My+T&lt;br /&gt;
%En este problema en particular:&lt;br /&gt;
% A=(-k1    0)(A)+(0)&lt;br /&gt;
% B=( k1  -k2)(B)+(0)&lt;br /&gt;
&lt;br /&gt;
%M=(-k1    0)&lt;br /&gt;
%  ( k1  -k2)&lt;br /&gt;
k1=5;&lt;br /&gt;
k2=1;&lt;br /&gt;
&lt;br /&gt;
M=[-k1,0;k1,-k2];&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
%Para el Trapecio:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(f(tn,yn)+f(t(n+1),y(n+1))&lt;br /&gt;
%En este caso:&lt;br /&gt;
%y(n+1)=y(n)+h/2*(M*yn+M*y(n+1))&lt;br /&gt;
%Despejando manualmente:&lt;br /&gt;
%[1-(h/2)*M]*y(n+1)=y(n)+h/2*(M*yn)&lt;br /&gt;
%Llamando Z a:&lt;br /&gt;
%Z=[1-(h/2)*M]&lt;br /&gt;
%Z*(INV(z))*y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
%Y queda finalmente:&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=(INV(z))*[y(n)+h/2*(M*yn)]&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
Z=eye(2)-(h/2)*M;&lt;br /&gt;
y(:,i+1)=inv(Z)*(y(:,i)+(h/2)*M*y(:,i));%Trapecio&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Se reasigna cada parte del vector &amp;quot;y&amp;quot; que recoge las soluciones con las concentraciones que representan:&lt;br /&gt;
A=y(1,:);&lt;br /&gt;
B=y(2,:);&lt;br /&gt;
C=C0+A0-A-B;&lt;br /&gt;
&lt;br /&gt;
%Dibujo:&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,A)&lt;br /&gt;
plot(t,B,'r')&lt;br /&gt;
plot(t,C,'g')&lt;br /&gt;
legend('Compuesto A','Compuesto B','Compuesto C','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Método_del_trapecioK.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método del Trapecio con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
Podemos ver que, el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer.Hemos tomado como tiempo el eje de abscisas, y la cantidad del como eje de ordenadas. Tomando en tanto por uno la cantidad.&lt;br /&gt;
A decrece mas rápidamente, es decir, desaparece antes, B llega a una cantidad de 0.6.&lt;br /&gt;
En  conclusión el compuesto A desaparece de forma rápida y esto da lugar a que haya mas cantidad de B.&lt;br /&gt;
&lt;br /&gt;
===Sistemas de ecuaciones lineales: Método de Euler y trapecio (Constantes de integración intercambiadas)===&lt;br /&gt;
&lt;br /&gt;
Ahora, resolveremos el sistema pero intercambiando los valores de las constantes, es decir K1=1 y K2=5, y aplicando los mismos programas anteriores, Euler y trapecio.&lt;br /&gt;
&lt;br /&gt;
'''Método de Euler'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Eulerconstantesvariadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Euler,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
'''Método del trapecio'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecioconstantescambiadas.png|1000px|thumb|center|Evolución del contenido de los compuestos A, B y C a lo largo del tiempo, según el método de Trapecio,con las constantes de desintegración cambiadas, con un paso de h=0.1. ]]&lt;br /&gt;
&lt;br /&gt;
En todas las gráficas, con las K iniciales y con las K intercambiadas y con ambos métodos, podemos observar que el compuesto A decrece, el C crece y el B empieza creciendo para mas tarde decrecer y desaparecer. En esas últimas gráficas también hemos tomado como tiempo el eje de abscisas, y en tanto por uno la cantidad del compuesto como eje de ordenadas. &lt;br /&gt;
Podemos ver que la cantidad en tanto por uno de B sin cambiar las constantes llega a una cantidad de 0.6, mientras que con el cambio de constantes no llega a 0.2.&lt;br /&gt;
En  conclusión, al comparar los dos pares de gráficas observamos que ahora con el cambio de constantes A decrece más lentamente, y debido a eso la cantidad de B que se forma no llega a ser tan grande como la del apartado anterior, en el que el compuesto A desaparecía antes y eso daba lugar a más cantidad de B. La creación de C no difiere mucho entre los pares de gráficas, lo que significa que el tiempo que tarda A en descomponerse en C es independiente de las constantes de desintegración.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Trap2.png&amp;diff=24615</id>
		<title>Archivo:Trap2.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Trap2.png&amp;diff=24615"/>
				<updated>2015-03-03T12:23:32Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Trap1.png&amp;diff=24614</id>
		<title>Archivo:Trap1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Trap1.png&amp;diff=24614"/>
				<updated>2015-03-03T12:20:27Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23675</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23675"/>
				<updated>2015-02-26T09:25:04Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Álvaro Ramón López, Diego García Vaquero, Noemí Palomino Bustos, Mercedes Ruiz Barrajón, Teresa Quintana Romero, Araceli Martín Candilejo. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Apartado 1==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%% TRABAJO 3 APARTADO 1&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Cantidad de Carbono 14');&lt;br /&gt;
ylabel('Tiempo (años)');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%Trapecio&lt;br /&gt;
 &lt;br /&gt;
%y´=f(t,y);&lt;br /&gt;
%y(t0)=y0;&lt;br /&gt;
 &lt;br /&gt;
%y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
%Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
 &lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
%M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
 &lt;br /&gt;
%En este caso, cuando se despeja manualmente:&lt;br /&gt;
%y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
%(1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
%y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
 &lt;br /&gt;
%SOLUCIÓN:&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
%Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
 M(i+1)=(M(i)-(k*h*M(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo para que quede un 8% de la cantidad inicial: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,M);&lt;br /&gt;
xlabel('Cantidad de Carbono 14');&lt;br /&gt;
ylabel('Tiempo (años)');&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecio3)cuandoy=0.08.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rungekuttavidamedia.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23674</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23674"/>
				<updated>2015-02-26T09:24:49Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Álvaro Ramón López, Diego García Vaquero, Noemí Palomino Bustos, Mercedes Ruiz Barrajón, Teresa Quintana Romero, Araceli Martín Candilejo. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Apartado 1==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%% TRABAJO 3 APARTADO 1&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Cantidad de Carbono 14');&lt;br /&gt;
ylabel('Tiempo (años)');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecio3)cuandoy=0.08.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rungekuttavidamedia.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23673</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23673"/>
				<updated>2015-02-26T09:13:58Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Álvaro Ramón López, Diego García Vaquero, Noemí Palomino Bustos, Mercedes Ruiz Barrajón, Teresa Quintana Romero, Araceli Martín Candilejo. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Apartado 1==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%% TRABAJO 3 APARTADO 1&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Cantidad de Carbono 14');&lt;br /&gt;
ylabel('Tiempo (años)');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%Trapecio&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
%y´=f(t,y);&lt;br /&gt;
%y(t0)=y0;&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
%Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
&lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
%M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
&lt;br /&gt;
%En este caso, cuando se despeja manualmente:&lt;br /&gt;
%y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
%(1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
%y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
&lt;br /&gt;
%SOLUCIÓN:&lt;br /&gt;
&lt;br /&gt;
%PASO 1&lt;br /&gt;
%DATOS ENUNCIADO:&lt;br /&gt;
t0=0;&lt;br /&gt;
y0=1;&lt;br /&gt;
tN=10000;&lt;br /&gt;
&lt;br /&gt;
%NUMERO DE SUBINTERVALOS:N&lt;br /&gt;
h=0.1;&lt;br /&gt;
%h=(tN-t0)/N&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%VECTOR DE TIEMPOS:&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%t=linspace(t0,tN,N+1);&lt;br /&gt;
&lt;br /&gt;
%VECTOR DE SOLUCIONES:&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%relleno el primer valor de &amp;quot;y&amp;quot; con y0.&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while y(i)&amp;gt;(0.08*y0)&lt;br /&gt;
 y(i+1)=(y(i)-(k*h*y(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo para y=0.08:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y);&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecio3)cuandoy=0.08.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
 &lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
 &lt;br /&gt;
%Se inicializa &amp;quot;M&amp;quot; con M0 para irlo rellenando posteriormente con las soluciones obtenidas&lt;br /&gt;
%para cada instante mediante el bucle while. Simultáneamente se va ampliando el vector de tiempos&lt;br /&gt;
%hasta que se cumple la condición deseada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
%RUNGE-KUTTA:&lt;br /&gt;
%K1=f(  tn  ,  yn  )&lt;br /&gt;
%K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
%K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
%K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
%y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
 &lt;br /&gt;
%En nuestro caso: y'=f(t,y)=-ky&lt;br /&gt;
&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
 &lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.5*M0)&lt;br /&gt;
    %K1=f(  tn  ,  yn  )&lt;br /&gt;
    K1=-k*M(i);&lt;br /&gt;
    %Definicion de variable K2&lt;br /&gt;
    %K2=f(  tn+h/2,  yn+K1*h/2 );&lt;br /&gt;
    t2=t(i)+(h/2);&lt;br /&gt;
    M2=M(i)+(h/2)*K1;&lt;br /&gt;
    K2=-k*M2;&lt;br /&gt;
    %Definicion de variable K3;&lt;br /&gt;
     %K3=f(  tn+h/2,  yn+K2*h/2 );&lt;br /&gt;
    t3=t2;&lt;br /&gt;
    M3=M(i)+(h/2)*K2;&lt;br /&gt;
    K3=-k*M3;&lt;br /&gt;
    %Definicion de variable K4;&lt;br /&gt;
     %K4=f(  tn+h,  yn+K3*h );&lt;br /&gt;
    t4=t(i)+h;&lt;br /&gt;
    M4=M(i)+h*K3;&lt;br /&gt;
    K4=-k*M4;&lt;br /&gt;
    %Funcion de RungeKutta;&lt;br /&gt;
    %y(n+1)=y(n)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    M(i+1)=M(i)+(h/6)*(K1+2*K2+2*K3+K4);&lt;br /&gt;
    t(i+1)=t(i)+h;&lt;br /&gt;
    i=i+1;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
disp('Tiempo medio: ')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Runge Kutta','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rungekuttavidamedia.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23672</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23672"/>
				<updated>2015-02-26T09:13:43Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Álvaro Ramón López, Diego García Vaquero, Noemí Palomino Bustos, Mercedes Ruiz Barrajón, Teresa Quintana Romero, Araceli Martín Candilejo. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Apartado 1==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%% TRABAJO 3 APARTADO 1&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Cantidad de Carbono 14');&lt;br /&gt;
ylabel('Tiempo (años)');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método del Trapecio==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
%Trapecio&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
%y´=f(t,y);&lt;br /&gt;
%y(t0)=y0;&lt;br /&gt;
&lt;br /&gt;
%y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))&lt;br /&gt;
%Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.&lt;br /&gt;
&lt;br /&gt;
% Si representamos la concentración del elemento radiactivo M(t) como y(t):&lt;br /&gt;
%M'(t)=-kM(t)---&amp;gt; y'(t)=-ky(t)&lt;br /&gt;
&lt;br /&gt;
%En este caso, cuando se despeja manualmente:&lt;br /&gt;
%y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))&lt;br /&gt;
%(1+kh/2)y(n+1)=y(n)-khy(n)/2&lt;br /&gt;
%y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)&lt;br /&gt;
&lt;br /&gt;
%SOLUCIÓN:&lt;br /&gt;
&lt;br /&gt;
%PASO 1&lt;br /&gt;
%DATOS ENUNCIADO:&lt;br /&gt;
t0=0;&lt;br /&gt;
y0=1;&lt;br /&gt;
tN=10000;&lt;br /&gt;
&lt;br /&gt;
%NUMERO DE SUBINTERVALOS:N&lt;br /&gt;
h=0.1;&lt;br /&gt;
%h=(tN-t0)/N&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%VECTOR DE TIEMPOS:&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%t=linspace(t0,tN,N+1);&lt;br /&gt;
&lt;br /&gt;
%VECTOR DE SOLUCIONES:&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%relleno el primer valor de &amp;quot;y&amp;quot; con y0.&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Constante de desintegración:&lt;br /&gt;
k=1.24*10^(-4);&lt;br /&gt;
&lt;br /&gt;
%Bucle:&lt;br /&gt;
i=1;&lt;br /&gt;
while y(i)&amp;gt;(0.08*y0)&lt;br /&gt;
 y(i+1)=(y(i)-(k*h*y(i))/2)/(1+(k*h)/2); %Trapecio&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
 t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo para y=0.08:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y);&lt;br /&gt;
legend('Trapecio','Location','best');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecio3)cuandoy=0.08.png|1000px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Resultado_del_tiempo_del_trapecio.png|500px|thumb|center|Resultado del valor del tiempo para el cual el contenido de C14 es el 8% del contenido inicial, según el método del Trapecio con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
==Resolución por el método de Runge-Kutta==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Rungekuttavidamedia.png|1000px|thumb|center|Evolución del contenido de C14 (hasta que éste es el 50% del contenido inicial) según el método de Runge Kutta con un paso h=0.1 . ]]&lt;br /&gt;
&lt;br /&gt;
La vida media que da el programa es de 5592,51 años.&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23495</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23495"/>
				<updated>2015-02-24T22:09:22Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Álvaro Ramón López, Diego García Vaquero, Noemí Palomino Bustos, Mercedes Ruiz Barrajón, Teresa Quintana Romero, Araceli Martín Candilejo. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Apartado 1==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%% TRABAJO 3 APARTADO 1&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, por favor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Cantidad de Carbono 14');&lt;br /&gt;
ylabel('Tiempo (años)');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23492</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23492"/>
				<updated>2015-02-24T22:02:42Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Álvaro Ramón López, Diego García Vaquero, Noemí Palomino Bustos, Mercedes Ruiz Barrajón, Teresa Quintana Romero, Araceli Martín Candilejo. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
==Apartado 1==&lt;br /&gt;
{{matlab|codigo=clear all&lt;br /&gt;
&lt;br /&gt;
%% TRABAJO 3 APARTADO 1&lt;br /&gt;
%       M'(t)=-1,24*10^(-4)*M(t)&lt;br /&gt;
%       M(0)=1&lt;br /&gt;
&lt;br /&gt;
% M(t) representa la cantidad de C14 en un instante dado, como no nos&lt;br /&gt;
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo&lt;br /&gt;
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7&lt;br /&gt;
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno&lt;br /&gt;
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que&lt;br /&gt;
% tratamos de determinar independientemente del M0 adoptado.&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
h=input('Inserte el valor del paso, porfavor: ');&lt;br /&gt;
M0=input('Inserte la cantidad inicial de carbono 14, porfavor: ');&lt;br /&gt;
t(1)=t0;&lt;br /&gt;
M(1)=M0;&lt;br /&gt;
&lt;br /&gt;
% Euler explícito&lt;br /&gt;
i=1;&lt;br /&gt;
while M(i)&amp;gt;(0.08*M0)&lt;br /&gt;
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));&lt;br /&gt;
  t(i+1)=t(i)+h;&lt;br /&gt;
  i=i+1;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
disp('Tiempo final:')&lt;br /&gt;
disp(t(end))&lt;br /&gt;
plot(t,M)&lt;br /&gt;
xlabel('Cantidad de Carbono 14');&lt;br /&gt;
ylabel('Tiempo (años)');&lt;br /&gt;
legend('Euler explícito','Location','best');&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23404</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23404"/>
				<updated>2015-02-24T10:22:21Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Álvaro Ramón López, Diego García Vaquero, Noemí Palomino Bustos, Mercedes Ruiz Barrajón, Teresa Quintana Romero, Araceli Martín Candilejo. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23403</id>
		<title>Desintegración Radiactiva.Grupo 5</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Desintegraci%C3%B3n_Radiactiva.Grupo_5&amp;diff=23403"/>
				<updated>2015-02-24T10:21:10Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: Página creada con «{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | Ecuaciones Diferenciales|Curso 2014-15 | Diego Garcí...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Desintegración Radiactiva. Grupo 5. | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Diego García Vaquero, Álvaro Ramón López, Noemí Palomino Bustos, Mercedes Ruiz Barrajón, Teresa Quintana Romero, Araceli Martín Candilejo. }}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
 [[Categoría:ED14/15]]&lt;br /&gt;
 [[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13486</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13486"/>
				<updated>2014-05-19T23:32:14Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Cable sujeto a una estructura sometida a vibraciones periódicas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción trata de ser inextensible, es decir, que intenta ser lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el nuestro problema de ondas será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método '''explícito''' y por tanto dependemos de la ecuación para que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
El último método que empleamos para resolver el problema planteado mediante diferencias finitas es el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler explícito. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con veinte términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=20)&lt;br /&gt;
&lt;br /&gt;
Q=20;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con veinte términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier. Interpretación de las gráficas anteriores==&lt;br /&gt;
&lt;br /&gt;
Todas las gráficas obtenidas mediante diferencias finitas (con sus distintos métodos) y Fourier representan la aproximación numérica de la solución del problema planteado, es decir, el desplazamiento vertical de todos los puntos de nuestro cable a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
Considerando los órdenes de precisión de cada uno de los métodos empleados en los programas de diferencias finitas, para aproximar la solución de nuestro problema (la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt; que representa el desplazamiento vertical): Podemos concluir que el método del trapecio (orden 2) es el más preciso, seguido del método de Euler modificado y por último del método de Euler explícito (orden 1).&lt;br /&gt;
&lt;br /&gt;
En cuanto a la resolución del problema mediante Fourier, podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas. El aumento del número de términos considerados en Fourier hace el método más estable.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía mecánica del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u_t y u_x basándonos en el concepto de derivada&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Cálculo de la energía&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica de la energía a lo largo del tiempo&lt;br /&gt;
&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Energía a lo largo del tiempo') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoENERGIA.jpg|border|Energía del cable a lo largo del tiempo)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se observa que el valor de la energía total del cable, para un paso del tiempo de 0.05 segundos, oscila aproximadamente entre 1.560 y 1.590. Este rango se reduce si elegimos un paso más pequeño para el tiempo y el espacio. Por tanto, aunque la aproximación no es perfecta, sí podemos confirmar que la energía mecánica del sistema se conserva.&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;. Damos a &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; los valores de 0, 1 ,4, 10 y 100. Para ello utilizamos el método numérico de las diferencias finitas empleando Euler con un paso muy pequeño.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sumergido en un medio viscoso (p.ej el mar)con a=0&lt;br /&gt;
% Cambiando el valor de a definido más adelante obtenemos todas las gráficas&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}+a*u_{t}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
a=0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u-dt*a*v;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Gráficas&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
ffff=sol(1,:);&lt;br /&gt;
plot(x,ffff);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Desplazamiento inicial del cable')&lt;br /&gt;
title('Desplazamiento inicial de los puntos del cable')&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
  E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
 end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
lE=length(E);&lt;br /&gt;
lt=length(t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title ('Energía con a=0')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoViscosoA0CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=0]]&lt;br /&gt;
[[Archivo:CodigoViscosoA1CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=1]]&lt;br /&gt;
[[Archivo:CodigoViscosoA4CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=4]]&lt;br /&gt;
[[Archivo:CodigoViscosoA10CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=10]]&lt;br /&gt;
[[Archivo:CodigoViscosoA100CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=100]]&lt;br /&gt;
&lt;br /&gt;
Observamos que, al sumergir el cable en un medio viscoso, el desplazamiento vertical de las ondas es cada vez más pequeño. Esto se debe a que la energía disminuye con el tiempo. Además, al aumentar el valor de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, la energía se disipa más rápidamente. Como el medio es más viscoso, la oposición al desplazamiento vertical del cable es mayor.&lt;br /&gt;
Para el caso de a=100, el método no es estable y da problemas. Sería necesario reducir aún más el paso temporal y espacial o utilizar otro método de mayor precisión.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lo resolvemos numéricamente por diferencias finitas utilizando Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sujeto a una estructura sometida a vibraciones periódicas&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,60] &lt;br /&gt;
% u(0,t)=0; u(10,t)=sin(2*pi*f0)&lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización (f0=0.11)&lt;br /&gt;
 &lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
 &lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.11)&lt;br /&gt;
 &lt;br /&gt;
f0=0.11;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
 &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.11)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.11)&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.11')&lt;br /&gt;
&lt;br /&gt;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
 &lt;br /&gt;
%% Planteamiento y discretización (f0=0.09)&lt;br /&gt;
 &lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
 &lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.09)&lt;br /&gt;
 &lt;br /&gt;
f0=0.09;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(3)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.09)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.09)&lt;br /&gt;
&lt;br /&gt;
figure(4)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.09')&lt;br /&gt;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.1)&lt;br /&gt;
 &lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(5)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
v=size(sol);&lt;br /&gt;
&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
figure(6)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.1')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:CodigoVibrPerio1.jpg|border|Cable sujeto a una estructura sometida a vibraciones periódicas f0=0.11]]&lt;br /&gt;
[[Archivo:CodigoVibrPerio2.jpg|border|Cable sujeto a una estructura sometida a vibraciones periódicas f0=0.09]]&lt;br /&gt;
[[Archivo:CodigoVibrPerio3.jpg|border|Cable sujeto a una estructura sometida a vibraciones periódicas f0=0.1]]&lt;br /&gt;
&lt;br /&gt;
Se observa que cuanto mayor es el valor de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt;, la energía alcanza un máximo más elevado. Esto es debido a que las vibraciones en el extremo derecho de la estructura dependen de una función senoidal que está en función de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt;. A medida que aumenta &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; crece el seno y, con ello, la derivada parcial en x, esto se traduce en un incremento de la energía.&lt;br /&gt;
El valor de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; únicamente afecta a los máximos de la energía pero no a su carácter temporal. Se trata de una función periódica que depende del tiempo. Para cualquier &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt;, el periodo es de 40 segundos.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es &amp;lt;math&amp;gt;u_{x}(L,t)=bu(L,t)&amp;lt;/math&amp;gt;.  Tomamos como condición inicial &amp;lt;math&amp;gt;u(x,0)=2-|2-\frac{2}{5}x|&amp;lt;/math&amp;gt; y observando en qué cambia la energía en función de distintos valores de b. estudiamos dos casos concretos: b=-2 y b=2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolvemos este problema por diferencias finitas utilizando el método de Euler, con un paso pequeño para que la aproximación sea más exacta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43b2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
No podemos apreciar para valores de b positivos (como el estudiado, b=2) cambios importantes en la energía. Esta no aumenta ni disminuye de manera significativa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=-2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=-2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43bmenos2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Se observa que cuanto mayor es la tensión del cable, mayor es el desplazamiento vertical. Se está otorgando energía al sistema. De está forma, para valores de b negativos (por ejemplo b=-2), la energía crece de manera exponencial y tiende a infinito. Se produce un efecto de resonancia, incrementándose la energía.&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13474</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13474"/>
				<updated>2014-05-19T23:09:18Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción trata de ser inextensible, es decir, que intenta ser lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el nuestro problema de ondas será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método '''explícito''' y por tanto dependemos de la ecuación para que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
El último método que empleamos para resolver el problema planteado mediante diferencias finitas es el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler explícito. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con veinte términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=20)&lt;br /&gt;
&lt;br /&gt;
Q=20;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con veinte términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier. Interpretación de las gráficas anteriores==&lt;br /&gt;
&lt;br /&gt;
Todas las gráficas obtenidas mediante diferencias finitas (con sus distintos métodos) y Fourier representan la aproximación numérica de la solución del problema planteado, es decir, el desplazamiento vertical de todos los puntos de nuestro cable a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
Considerando los órdenes de precisión de cada uno de los métodos empleados en los programas de diferencias finitas, para aproximar la solución de nuestro problema (la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt; que representa el desplazamiento vertical): Podemos concluir que el método del trapecio (orden 2) es el más preciso, seguido del método de Euler modificado y por último del método de Euler explícito (orden 1).&lt;br /&gt;
&lt;br /&gt;
En cuanto a la resolución del problema mediante Fourier, podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas. El aumento del número de términos considerados en Fourier hace el método más estable.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía mecánica del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u_t y u_x basándonos en el concepto de derivada&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Cálculo de la energía&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica de la energía a lo largo del tiempo&lt;br /&gt;
&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Energía a lo largo del tiempo') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoENERGIA.jpg|border|Energía del cable a lo largo del tiempo)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se observa que el valor de la energía total del cable, para un paso del tiempo de 0.05 segundos, oscila aproximadamente entre 1.560 y 1.590. Este rango se reduce si elegimos un paso más pequeño para el tiempo y el espacio. Por tanto, aunque la aproximación no es perfecta, sí podemos confirmar que la energía mecánica del sistema se conserva.&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;. Damos a &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; los valores de 0, 1 ,4, 10 y 100. Para ello utilizamos el método numérico de las diferencias finitas empleando Euler con un paso muy pequeño.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sumergido en un medio viscoso (p.ej el mar)con a=0&lt;br /&gt;
% Cambiando el valor de a definido más adelante obtenemos todas las gráficas&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}+a*u_{t}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
a=0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u-dt*a*v;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Gráficas&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
ffff=sol(1,:);&lt;br /&gt;
plot(x,ffff);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Desplazamiento inicial del cable')&lt;br /&gt;
title('Desplazamiento inicial de los puntos del cable')&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
  E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
 end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
lE=length(E);&lt;br /&gt;
lt=length(t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title ('Energía con a=0')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoViscosoA0CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=0]]&lt;br /&gt;
[[Archivo:CodigoViscosoA1CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=1]]&lt;br /&gt;
[[Archivo:CodigoViscosoA4CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=4]]&lt;br /&gt;
[[Archivo:CodigoViscosoA10CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=10]]&lt;br /&gt;
[[Archivo:CodigoViscosoA100CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=100]]&lt;br /&gt;
&lt;br /&gt;
Observamos que, al sumergir el cable en un medio viscoso, el desplazamiento vertical de las ondas es cada vez más pequeño. Esto se debe a que la energía disminuye con el tiempo. Además, al aumentar el valor de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, la energía se disipa más rápidamente. Como el medio es más viscoso, la oposición al desplazamiento vertical del cable es mayor.&lt;br /&gt;
Para el caso de a=100, el método no es estable y da problemas. Sería necesario reducir aún más el paso temporal y espacial o utilizar otro método de mayor precisión.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lo resolvemos numéricamente por diferencias finitas utilizando Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sujeto a una estructura sometida a vibraciones periódicas&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,60] &lt;br /&gt;
% u(0,t)=0; u(10,t)=sin(2*pi*f0)&lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización (f0=0.11)&lt;br /&gt;
 &lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
 &lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.11)&lt;br /&gt;
 &lt;br /&gt;
f0=0.11;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
 &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.11)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.11)&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.11')&lt;br /&gt;
&lt;br /&gt;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
 &lt;br /&gt;
%% Planteamiento y discretización (f0=0.09)&lt;br /&gt;
 &lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
 &lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.09)&lt;br /&gt;
 &lt;br /&gt;
f0=0.09;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(3)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.09)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.09)&lt;br /&gt;
&lt;br /&gt;
figure(4)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.09')&lt;br /&gt;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.1)&lt;br /&gt;
 &lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(5)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
v=size(sol);&lt;br /&gt;
&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
figure(6)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.1')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:CodigoVibrPerio1.jpg|border|Cable sujeto a una estructura sometida a vibraciones periódicas f0=0.11]]&lt;br /&gt;
[[Archivo:CodigoVibrPerio2.jpg|border|Cable sujeto a una estructura sometida a vibraciones periódicas f0=0.09]]&lt;br /&gt;
[[Archivo:CodigoVibrPerio3.jpg|border|Cable sujeto a una estructura sometida a vibraciones periódicas f0=0.1]]&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es &amp;lt;math&amp;gt;u_{x}(L,t)=bu(L,t)&amp;lt;/math&amp;gt;.  Tomamos como condición inicial &amp;lt;math&amp;gt;u(x,0)=2-|2-\frac{2}{5}x|&amp;lt;/math&amp;gt; y observando en qué cambia la energía en función de distintos valores de b. estudiamos dos casos concretos: b=-2 y b=2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolvemos este problema por diferencias finitas utilizando el método de Euler, con un paso pequeño para que la aproximación sea más exacta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43b2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
No podemos apreciar para valores de b positivos (como el estudiado, b=2) cambios importantes en la energía. Esta no aumenta ni disminuye de manera significativa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=-2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=-2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43bmenos2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Se observa que cuanto mayor es la tensión del cable, mayor es el desplazamiento vertical. Se está otorgando energía al sistema. De está forma, para valores de b negativos (por ejemplo b=-2), la energía crece de manera exponencial y tiende a infinito. Se produce un efecto de resonancia, incrementándose la energía.&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoVibrPerio3.jpg&amp;diff=13469</id>
		<title>Archivo:CodigoVibrPerio3.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoVibrPerio3.jpg&amp;diff=13469"/>
				<updated>2014-05-19T23:02:28Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoVibrPerio2.jpg&amp;diff=13468</id>
		<title>Archivo:CodigoVibrPerio2.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoVibrPerio2.jpg&amp;diff=13468"/>
				<updated>2014-05-19T23:02:18Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoVibrPerio1.jpg&amp;diff=13466</id>
		<title>Archivo:CodigoVibrPerio1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoVibrPerio1.jpg&amp;diff=13466"/>
				<updated>2014-05-19T23:02:08Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13465</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13465"/>
				<updated>2014-05-19T23:01:46Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Cable sujeto a una estructura sometida a vibraciones periódicas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción trata de ser inextensible, es decir, que intenta ser lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el nuestro problema de ondas será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método '''explícito''' y por tanto dependemos de la ecuación para que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
El último método que empleamos para resolver el problema planteado mediante diferencias finitas es el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler explícito. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con veinte términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=20)&lt;br /&gt;
&lt;br /&gt;
Q=20;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con veinte términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier. Interpretación de las gráficas anteriores==&lt;br /&gt;
&lt;br /&gt;
Todas las gráficas obtenidas mediante diferencias finitas (con sus distintos métodos) y Fourier representan la aproximación numérica de la solución del problema planteado, es decir, el desplazamiento vertical de todos los puntos de nuestro cable a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
Considerando los órdenes de precisión de cada uno de los métodos empleados en los programas de diferencias finitas, para aproximar la solución de nuestro problema (la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt; que representa el desplazamiento vertical): Podemos concluir que el método del trapecio (orden 2) es el más preciso, seguido del método de Euler modificado y por último del método de Euler explícito (orden 1).&lt;br /&gt;
&lt;br /&gt;
En cuanto a la resolución del problema mediante Fourier, podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas. El aumento del número de términos considerados en Fourier hace el método más estable.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía mecánica del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u_t y u_x basándonos en el concepto de derivada&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Cálculo de la energía&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica de la energía a lo largo del tiempo&lt;br /&gt;
&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Energía a lo largo del tiempo') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoENERGIA.jpg|border|Energía del cable a lo largo del tiempo)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se observa que el valor de la energía total del cable, para un paso del tiempo de 0.05 segundos, oscila aproximadamente entre 1.560 y 1.590. Este rango se reduce si elegimos un paso más pequeño para el tiempo y el espacio. Por tanto, aunque la aproximación no es perfecta, sí podemos confirmar que la energía mecánica del sistema se conserva.&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;. Damos a &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; los valores de 0, 1 ,4, 10 y 100. Para ello utilizamos el método numérico de las diferencias finitas empleando Euler con un paso muy pequeño.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sumergido en un medio viscoso (p.ej el mar)con a=0&lt;br /&gt;
% Cambiando el valor de a definido más adelante obtenemos todas las gráficas&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}+a*u_{t}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
a=0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u-dt*a*v;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Gráficas&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
ffff=sol(1,:);&lt;br /&gt;
plot(x,ffff);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Desplazamiento inicial del cable')&lt;br /&gt;
title('Desplazamiento inicial de los puntos del cable')&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
  E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
 end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
lE=length(E);&lt;br /&gt;
lt=length(t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title ('Energía con a=0')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoViscosoA0CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=0]]&lt;br /&gt;
[[Archivo:CodigoViscosoA1CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=1]]&lt;br /&gt;
[[Archivo:CodigoViscosoA4CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=4]]&lt;br /&gt;
[[Archivo:CodigoViscosoA10CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=10]]&lt;br /&gt;
[[Archivo:CodigoViscosoA100CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=100]]&lt;br /&gt;
&lt;br /&gt;
Observamos que, al sumergir el cable en un medio viscoso, el desplazamiento vertical de las ondas es cada vez más pequeño. Esto se debe a que la energía disminuye con el tiempo. Además, al aumentar el valor de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, la energía se disipa más rápidamente. Como el medio es más viscoso, la oposición al desplazamiento vertical del cable es mayor.&lt;br /&gt;
Para el caso de a=100, el método no es estable y da problemas. Sería necesario reducir aún más el paso temporal y espacial o utilizar otro método de mayor precisión.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lo resolvemos numéricamente por diferencias finitas utilizando Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sujeto a una estructura sometida a vibraciones periódicas&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,60] &lt;br /&gt;
% u(0,t)=0; u(10,t)=sin(2*pi*f0)&lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización (f0=0.11)&lt;br /&gt;
 &lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
 &lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.11)&lt;br /&gt;
 &lt;br /&gt;
f0=0.11;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
 &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.11)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.11)&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.11')&lt;br /&gt;
&lt;br /&gt;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
 &lt;br /&gt;
%% Planteamiento y discretización (f0=0.09)&lt;br /&gt;
 &lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
 &lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.09)&lt;br /&gt;
 &lt;br /&gt;
f0=0.09;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(3)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.09)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.09)&lt;br /&gt;
&lt;br /&gt;
figure(4)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.09')&lt;br /&gt;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.1)&lt;br /&gt;
 &lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(5)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
v=size(sol);&lt;br /&gt;
&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
figure(6)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.1')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:CodigoVibrPerio1.jpg|border|Cable sujeto a una estructura sometida a vibraciones periódicas f0=0.11]]&lt;br /&gt;
[[Archivo:CodigoVibrPerio2.jpg|border|Cable sujeto a una estructura sometida a vibraciones periódicas f0=0.09]]&lt;br /&gt;
[[Archivo:CodigoVibrPerio3.jpg|border|Cable sujeto a una estructura sometida a vibraciones periódicas f0=0.1]]&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es &amp;lt;math&amp;gt;u_{x}(L,t)=bu(L,t)&amp;lt;/math&amp;gt;.  Tomamos como condición inicial &amp;lt;math&amp;gt;u(x,0)=2-|2-\frac{2}{5}x|&amp;lt;/math&amp;gt; y observando en qué cambia la energía en función de distintos valores de b. estudiamos dos casos concretos: b=-2 y b=2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolvemos este problema por diferencias finitas utilizando el método de Euler, con un paso pequeño para que la aproximación sea más exacta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43b2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
No podemos apreciar para valores de b positivos (como el estudiado, b=2) cambios importantes en la energía. Esta no aumenta ni disminuye de manera significativa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=-2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=-2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43bmenos2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Se observa que cuanto mayor es la tensión del cable, mayor es el desplazamiento vertical. Se está otorgando energía al sistema. De está forma, para valores de b negativos (por ejemplo b=-2), la energía crece de manera exponencial y tiende a infinito. Se produce un efecto de resonancia, incrementándose la energía.&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13462</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13462"/>
				<updated>2014-05-19T22:57:14Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Cable sujeto a una estructura sometida a vibraciones periódicas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción trata de ser inextensible, es decir, que intenta ser lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el nuestro problema de ondas será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método '''explícito''' y por tanto dependemos de la ecuación para que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
El último método que empleamos para resolver el problema planteado mediante diferencias finitas es el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler explícito. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con veinte términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=20)&lt;br /&gt;
&lt;br /&gt;
Q=20;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con veinte términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier. Interpretación de las gráficas anteriores==&lt;br /&gt;
&lt;br /&gt;
Todas las gráficas obtenidas mediante diferencias finitas (con sus distintos métodos) y Fourier representan la aproximación numérica de la solución del problema planteado, es decir, el desplazamiento vertical de todos los puntos de nuestro cable a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
Considerando los órdenes de precisión de cada uno de los métodos empleados en los programas de diferencias finitas, para aproximar la solución de nuestro problema (la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt; que representa el desplazamiento vertical): Podemos concluir que el método del trapecio (orden 2) es el más preciso, seguido del método de Euler modificado y por último del método de Euler explícito (orden 1).&lt;br /&gt;
&lt;br /&gt;
En cuanto a la resolución del problema mediante Fourier, podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas. El aumento del número de términos considerados en Fourier hace el método más estable.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía mecánica del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u_t y u_x basándonos en el concepto de derivada&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Cálculo de la energía&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica de la energía a lo largo del tiempo&lt;br /&gt;
&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Energía a lo largo del tiempo') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoENERGIA.jpg|border|Energía del cable a lo largo del tiempo)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se observa que el valor de la energía total del cable, para un paso del tiempo de 0.05 segundos, oscila aproximadamente entre 1.560 y 1.590. Este rango se reduce si elegimos un paso más pequeño para el tiempo y el espacio. Por tanto, aunque la aproximación no es perfecta, sí podemos confirmar que la energía mecánica del sistema se conserva.&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;. Damos a &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; los valores de 0, 1 ,4, 10 y 100. Para ello utilizamos el método numérico de las diferencias finitas empleando Euler con un paso muy pequeño.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sumergido en un medio viscoso (p.ej el mar)con a=0&lt;br /&gt;
% Cambiando el valor de a definido más adelante obtenemos todas las gráficas&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}+a*u_{t}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
a=0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u-dt*a*v;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Gráficas&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
ffff=sol(1,:);&lt;br /&gt;
plot(x,ffff);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Desplazamiento inicial del cable')&lt;br /&gt;
title('Desplazamiento inicial de los puntos del cable')&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
  E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
 end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
lE=length(E);&lt;br /&gt;
lt=length(t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title ('Energía con a=0')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoViscosoA0CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=0]]&lt;br /&gt;
[[Archivo:CodigoViscosoA1CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=1]]&lt;br /&gt;
[[Archivo:CodigoViscosoA4CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=4]]&lt;br /&gt;
[[Archivo:CodigoViscosoA10CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=10]]&lt;br /&gt;
[[Archivo:CodigoViscosoA100CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=100]]&lt;br /&gt;
&lt;br /&gt;
Observamos que, al sumergir el cable en un medio viscoso, el desplazamiento vertical de las ondas es cada vez más pequeño. Esto se debe a que la energía disminuye con el tiempo. Además, al aumentar el valor de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, la energía se disipa más rápidamente. Como el medio es más viscoso, la oposición al desplazamiento vertical del cable es mayor.&lt;br /&gt;
Para el caso de a=100, el método no es estable y da problemas. Sería necesario reducir aún más el paso temporal y espacial o utilizar otro método de mayor precisión.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lo resolvemos numéricamente por diferencias finitas utilizando Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sujeto a una estructura sometida a vibraciones periódicas&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,60] &lt;br /&gt;
% u(0,t)=0; u(10,t)=sin(2*pi*f0)&lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización (f0=0.11)&lt;br /&gt;
 &lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
 &lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.11)&lt;br /&gt;
 &lt;br /&gt;
f0=0.11;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
 &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.11)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.11)&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.11')&lt;br /&gt;
&lt;br /&gt;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
 &lt;br /&gt;
%% Planteamiento y discretización (f0=0.09)&lt;br /&gt;
 &lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
 &lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.09)&lt;br /&gt;
 &lt;br /&gt;
f0=0.09;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(3)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.09)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.09)&lt;br /&gt;
&lt;br /&gt;
figure(4)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.09')&lt;br /&gt;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.1)&lt;br /&gt;
 &lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(5)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
v=size(sol);&lt;br /&gt;
&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
figure(6)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo f0=0.1')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es &amp;lt;math&amp;gt;u_{x}(L,t)=bu(L,t)&amp;lt;/math&amp;gt;.  Tomamos como condición inicial &amp;lt;math&amp;gt;u(x,0)=2-|2-\frac{2}{5}x|&amp;lt;/math&amp;gt; y observando en qué cambia la energía en función de distintos valores de b. estudiamos dos casos concretos: b=-2 y b=2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolvemos este problema por diferencias finitas utilizando el método de Euler, con un paso pequeño para que la aproximación sea más exacta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43b2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
No podemos apreciar para valores de b positivos (como el estudiado, b=2) cambios importantes en la energía. Esta no aumenta ni disminuye de manera significativa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=-2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=-2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43bmenos2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Se observa que cuanto mayor es la tensión del cable, mayor es el desplazamiento vertical. Se está otorgando energía al sistema. De está forma, para valores de b negativos (por ejemplo b=-2), la energía crece de manera exponencial y tiende a infinito. Se produce un efecto de resonancia, incrementándose la energía.&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13459</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13459"/>
				<updated>2014-05-19T22:54:34Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: /* Cable sujeto a una estructura sometida a vibraciones periódicas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción trata de ser inextensible, es decir, que intenta ser lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el nuestro problema de ondas será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método '''explícito''' y por tanto dependemos de la ecuación para que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
El último método que empleamos para resolver el problema planteado mediante diferencias finitas es el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler explícito. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con veinte términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=20)&lt;br /&gt;
&lt;br /&gt;
Q=20;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con veinte términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier. Interpretación de las gráficas anteriores==&lt;br /&gt;
&lt;br /&gt;
Todas las gráficas obtenidas mediante diferencias finitas (con sus distintos métodos) y Fourier representan la aproximación numérica de la solución del problema planteado, es decir, el desplazamiento vertical de todos los puntos de nuestro cable a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
Considerando los órdenes de precisión de cada uno de los métodos empleados en los programas de diferencias finitas, para aproximar la solución de nuestro problema (la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt; que representa el desplazamiento vertical): Podemos concluir que el método del trapecio (orden 2) es el más preciso, seguido del método de Euler modificado y por último del método de Euler explícito (orden 1).&lt;br /&gt;
&lt;br /&gt;
En cuanto a la resolución del problema mediante Fourier, podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas. El aumento del número de términos considerados en Fourier hace el método más estable.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía mecánica del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u_t y u_x basándonos en el concepto de derivada&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Cálculo de la energía&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica de la energía a lo largo del tiempo&lt;br /&gt;
&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Energía a lo largo del tiempo') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoENERGIA.jpg|border|Energía del cable a lo largo del tiempo)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se observa que el valor de la energía total del cable, para un paso del tiempo de 0.05 segundos, oscila aproximadamente entre 1.560 y 1.590. Este rango se reduce si elegimos un paso más pequeño para el tiempo y el espacio. Por tanto, aunque la aproximación no es perfecta, sí podemos confirmar que la energía mecánica del sistema se conserva.&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;. Damos a &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; los valores de 0, 1 ,4, 10 y 100. Para ello utilizamos el método numérico de las diferencias finitas empleando Euler con un paso muy pequeño.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sumergido en un medio viscoso (p.ej el mar)con a=0&lt;br /&gt;
% Cambiando el valor de a definido más adelante obtenemos todas las gráficas&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}+a*u_{t}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
a=0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u-dt*a*v;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Gráficas&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
ffff=sol(1,:);&lt;br /&gt;
plot(x,ffff);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Desplazamiento inicial del cable')&lt;br /&gt;
title('Desplazamiento inicial de los puntos del cable')&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
  E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
 end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
lE=length(E);&lt;br /&gt;
lt=length(t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title ('Energía con a=0')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoViscosoA0CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=0]]&lt;br /&gt;
[[Archivo:CodigoViscosoA1CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=1]]&lt;br /&gt;
[[Archivo:CodigoViscosoA4CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=4]]&lt;br /&gt;
[[Archivo:CodigoViscosoA10CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=10]]&lt;br /&gt;
[[Archivo:CodigoViscosoA100CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=100]]&lt;br /&gt;
&lt;br /&gt;
Observamos que, al sumergir el cable en un medio viscoso, el desplazamiento vertical de las ondas es cada vez más pequeño. Esto se debe a que la energía disminuye con el tiempo. Además, al aumentar el valor de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, la energía se disipa más rápidamente. Como el medio es más viscoso, la oposición al desplazamiento vertical del cable es mayor.&lt;br /&gt;
Para el caso de a=100, el método no es estable y da problemas. Sería necesario reducir aún más el paso temporal y espacial o utilizar otro método de mayor precisión.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lo resolvemos numéricamente por diferencias finitas utilizando Euler.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sujeto a una estructura sometida a vibraciones periódicas&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,60] &lt;br /&gt;
% u(0,t)=0; u(10,t)=sin(2*pi*f0)&lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización (f0=0.11)&lt;br /&gt;
 &lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
 &lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.11)&lt;br /&gt;
 &lt;br /&gt;
f0=0.11;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
 &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.11)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.11)&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo')&lt;br /&gt;
&lt;br /&gt;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
 &lt;br /&gt;
%% Planteamiento y discretización (f0=0.09)&lt;br /&gt;
 &lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
 &lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.09)&lt;br /&gt;
 &lt;br /&gt;
f0=0.09;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(3)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.09)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.09)&lt;br /&gt;
&lt;br /&gt;
figure(4)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo')&lt;br /&gt;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=60;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
 &lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
 &lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
 &lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
 &lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=0*xint';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
 &lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito y obtención de las derivadas (f0=0.1)&lt;br /&gt;
 &lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    v=v-dt*k*u+[F;sin(2*pi*f0*j)];&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(5)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
v=size(sol);&lt;br /&gt;
&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Energía (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación Energía-Tiempo (f0=0.1)&lt;br /&gt;
&lt;br /&gt;
figure(6)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es &amp;lt;math&amp;gt;u_{x}(L,t)=bu(L,t)&amp;lt;/math&amp;gt;.  Tomamos como condición inicial &amp;lt;math&amp;gt;u(x,0)=2-|2-\frac{2}{5}x|&amp;lt;/math&amp;gt; y observando en qué cambia la energía en función de distintos valores de b. estudiamos dos casos concretos: b=-2 y b=2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolvemos este problema por diferencias finitas utilizando el método de Euler, con un paso pequeño para que la aproximación sea más exacta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43b2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
No podemos apreciar para valores de b positivos (como el estudiado, b=2) cambios importantes en la energía. Esta no aumenta ni disminuye de manera significativa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=-2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=-2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43bmenos2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Se observa que cuanto mayor es la tensión del cable, mayor es el desplazamiento vertical. Se está otorgando energía al sistema. De está forma, para valores de b negativos (por ejemplo b=-2), la energía crece de manera exponencial y tiende a infinito. Se produce un efecto de resonancia, incrementándose la energía.&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13391</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13391"/>
				<updated>2014-05-19T22:24:20Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción trata de ser inextensible, es decir, que intenta ser lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el nuestro problema de ondas será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método '''explícito''' y por tanto dependemos de la ecuación para que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
El último método que empleamos para resolver el problema planteado mediante diferencias finitas es el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler explícito. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con veinte términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=20)&lt;br /&gt;
&lt;br /&gt;
Q=20;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con veinte términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier. Interpretación de las gráficas anteriores==&lt;br /&gt;
&lt;br /&gt;
Todas las gráficas obtenidas mediante diferencias finitas (con sus distintos métodos) y Fourier representan la aproximación numérica de la solución del problema planteado, es decir, el desplazamiento vertical de todos los puntos de nuestro cable a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
Considerando los órdenes de precisión de cada uno de los métodos empleados en los programas de diferencias finitas, para aproximar la solución de nuestro problema (la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt; que representa el desplazamiento vertical): Podemos concluir que el método del trapecio (orden 2) es el más preciso, seguido del método de Euler modificado y por último del método de Euler explícito (orden 1).&lt;br /&gt;
&lt;br /&gt;
En cuanto a la resolución del problema mediante Fourier, podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas. El aumento del número de términos considerados en Fourier hace el método más estable.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía mecánica del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u_t y u_x basándonos en el concepto de derivada&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Cálculo de la energía&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica de la energía a lo largo del tiempo&lt;br /&gt;
&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Energía a lo largo del tiempo') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoENERGIA.jpg|border|Energía del cable a lo largo del tiempo)&lt;br /&gt;
]]&lt;br /&gt;
Se observa que el valor de la energía total del cable, para un paso del tiempo de 0.05 segundos, oscila aproximadamente entre 1.560 y 1.590. Este rango se reduce si elegimos un paso más pequeño para el tiempo y el espacio. Por tanto, aunque la aproximación no es perfecta, sí podemos confirmar que la energía mecánica del sistema se conserva.&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;. Damos a &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; los valores de 0, 1 ,4, 10 y 100. Para ello utilizamos el método numérico de las diferencias finitas empleando Euler con un paso muy pequeño.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sumergido en un medio viscoso (p.ej el mar)con a=0&lt;br /&gt;
% Cambiando el valor de a definido más adelante obtenemos todas las gráficas&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}+a*u_{t}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
a=0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u-dt*a*v;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Gráficas&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
ffff=sol(1,:);&lt;br /&gt;
plot(x,ffff);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Desplazamiento inicial del cable')&lt;br /&gt;
title('Desplazamiento inicial de los puntos del cable')&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
  E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
 end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
lE=length(E);&lt;br /&gt;
lt=length(t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title ('Energía con a=0')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoViscosoA0CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=0]]&lt;br /&gt;
[[Archivo:CodigoViscosoA1CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=1]]&lt;br /&gt;
[[Archivo:CodigoViscosoA4CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=4]]&lt;br /&gt;
[[Archivo:CodigoViscosoA10CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=10]]&lt;br /&gt;
[[Archivo:CodigoViscosoA100CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=100]]&lt;br /&gt;
&lt;br /&gt;
Observamos que, al sumergir el cable en un medio viscoso, el desplazamiento vertical de las ondas es cada vez más pequeño. Esto se debe a que la energía disminuye con el tiempo. Además, al aumentar el valor de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, la energía se disipa más rápidamente. Como el medio es más viscoso, la oposición al desplazamiento vertical del cable es mayor.&lt;br /&gt;
Para el caso de a=100, el método no es estable y da problemas. Sería necesario reducir aún más el paso temporal y espacial o utilizar otro método de mayor precisión.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es &amp;lt;math&amp;gt;u_{x}(L,t)=bu(L,t)&amp;lt;/math&amp;gt;.  Tomamos como condición inicial &amp;lt;math&amp;gt;u(x,0)=2-|2-\frac{2}{5}x|&amp;lt;/math&amp;gt; y observando en qué cambia la energía en función de distintos valores de b. estudiamos dos casos concretos: b=-2 y b=2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolvemos este problema por diferencias finitas utilizando el método de Euler, con un paso pequeño para que la aproximación sea más exacta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43b2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
No podemos apreciar para valores de b positivos (como el estudiado, b=2) cambios importantes en la energía. Esta no aumenta ni disminuye de manera significativa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=-2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=-2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43bmenos2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Se observa que cuanto mayor es la tensión del cable, mayor es el desplazamiento vertical. Se está otorgando energía al sistema. De está forma, para valores de b negativos (por ejemplo b=-2), la energía crece de manera exponencial y tiende a infinito. Se produce un efecto de resonancia, incrementándose la energía.&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoENERGIA.jpg&amp;diff=13390</id>
		<title>Archivo:CodigoENERGIA.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoENERGIA.jpg&amp;diff=13390"/>
				<updated>2014-05-19T22:24:02Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13387</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13387"/>
				<updated>2014-05-19T22:22:26Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción trata de ser inextensible, es decir, que intenta ser lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el nuestro problema de ondas será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método '''explícito''' y por tanto dependemos de la ecuación para que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
El último método que empleamos para resolver el problema planteado mediante diferencias finitas es el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler explícito. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con veinte términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=20)&lt;br /&gt;
&lt;br /&gt;
Q=20;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con veinte términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier. Interpretación de las gráficas anteriores==&lt;br /&gt;
&lt;br /&gt;
Todas las gráficas obtenidas mediante diferencias finitas (con sus distintos métodos) y Fourier representan la aproximación numérica de la solución del problema planteado, es decir, el desplazamiento vertical de todos los puntos de nuestro cable a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
Considerando los órdenes de precisión de cada uno de los métodos empleados en los programas de diferencias finitas, para aproximar la solución de nuestro problema (la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt; que representa el desplazamiento vertical): Podemos concluir que el método del trapecio (orden 2) es el más preciso, seguido del método de Euler modificado y por último del método de Euler explícito (orden 1).&lt;br /&gt;
&lt;br /&gt;
En cuanto a la resolución del problema mediante Fourier, podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas. El aumento del número de términos considerados en Fourier hace el método más estable.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía mecánica del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.05;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u_t y u_x basándonos en el concepto de derivada&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Cálculo de la energía&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica de la energía a lo largo del tiempo&lt;br /&gt;
&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Energía a lo largo del tiempo') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se observa que el valor de la energía total del cable, para un paso del tiempo de 0.05 segundos, oscila aproximadamente entre 1.560 y 1.590. Este rango se reduce si elegimos un paso más pequeño para el tiempo y el espacio. Por tanto, aunque la aproximación no es perfecta, sí podemos confirmar que la energía mecánica del sistema se conserva.&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;. Damos a &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; los valores de 0, 1 ,4, 10 y 100. Para ello utilizamos el método numérico de las diferencias finitas empleando Euler con un paso muy pequeño.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sumergido en un medio viscoso (p.ej el mar)con a=0&lt;br /&gt;
% Cambiando el valor de a definido más adelante obtenemos todas las gráficas&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}+a*u_{t}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
a=0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u-dt*a*v;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Gráficas&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
ffff=sol(1,:);&lt;br /&gt;
plot(x,ffff);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Desplazamiento inicial del cable')&lt;br /&gt;
title('Desplazamiento inicial de los puntos del cable')&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
  E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
 end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
lE=length(E);&lt;br /&gt;
lt=length(t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title ('Energía con a=0')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoViscosoA0CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=0]]&lt;br /&gt;
[[Archivo:CodigoViscosoA1CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=1]]&lt;br /&gt;
[[Archivo:CodigoViscosoA4CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=4]]&lt;br /&gt;
[[Archivo:CodigoViscosoA10CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=10]]&lt;br /&gt;
[[Archivo:CodigoViscosoA100CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=100]]&lt;br /&gt;
&lt;br /&gt;
Observamos que, al sumergir el cable en un medio viscoso, el desplazamiento vertical de las ondas es cada vez más pequeño. Esto se debe a que la energía disminuye con el tiempo. Además, al aumentar el valor de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, la energía se disipa más rápidamente. Como el medio es más viscoso, la oposición al desplazamiento vertical del cable es mayor.&lt;br /&gt;
Para el caso de a=100, el método no es estable y da problemas. Sería necesario reducir aún más el paso temporal y espacial o utilizar otro método de mayor precisión.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es &amp;lt;math&amp;gt;u_{x}(L,t)=bu(L,t)&amp;lt;/math&amp;gt;.  Tomamos como condición inicial &amp;lt;math&amp;gt;u(x,0)=2-|2-\frac{2}{5}x|&amp;lt;/math&amp;gt; y observando en qué cambia la energía en función de distintos valores de b. estudiamos dos casos concretos: b=-2 y b=2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolvemos este problema por diferencias finitas utilizando el método de Euler, con un paso pequeño para que la aproximación sea más exacta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43b2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
No podemos apreciar para valores de b positivos (como el estudiado, b=2) cambios importantes en la energía. Esta no aumenta ni disminuye de manera significativa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=-2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=-2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43bmenos2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Se observa que cuanto mayor es la tensión del cable, mayor es el desplazamiento vertical. Se está otorgando energía al sistema. De está forma, para valores de b negativos (por ejemplo b=-2), la energía crece de manera exponencial y tiende a infinito. Se produce un efecto de resonancia, incrementándose la energía.&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoViscosoA100CORREGIDO.jpg&amp;diff=13372</id>
		<title>Archivo:CodigoViscosoA100CORREGIDO.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoViscosoA100CORREGIDO.jpg&amp;diff=13372"/>
				<updated>2014-05-19T22:15:08Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoViscosoA10CORREGIDO.jpg&amp;diff=13370</id>
		<title>Archivo:CodigoViscosoA10CORREGIDO.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoViscosoA10CORREGIDO.jpg&amp;diff=13370"/>
				<updated>2014-05-19T22:14:58Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoViscosoA4CORREGIDO.jpg&amp;diff=13369</id>
		<title>Archivo:CodigoViscosoA4CORREGIDO.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoViscosoA4CORREGIDO.jpg&amp;diff=13369"/>
				<updated>2014-05-19T22:14:47Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoViscosoA1CORREGIDO.jpg&amp;diff=13368</id>
		<title>Archivo:CodigoViscosoA1CORREGIDO.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoViscosoA1CORREGIDO.jpg&amp;diff=13368"/>
				<updated>2014-05-19T22:14:35Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoViscosoA0CORREGIDO.jpg&amp;diff=13367</id>
		<title>Archivo:CodigoViscosoA0CORREGIDO.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:CodigoViscosoA0CORREGIDO.jpg&amp;diff=13367"/>
				<updated>2014-05-19T22:14:20Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13362</id>
		<title>Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas_en_el_cable_de_una_estructura_civil_(Grupo_9-B)&amp;diff=13362"/>
				<updated>2014-05-19T22:10:17Z</updated>
		
		<summary type="html">&lt;p&gt;Diego García Vaquero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
{{ TrabajoED | Ecuación de ondas en el cable de una estructura civil (Grupo 9-B)| [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]]| &lt;br /&gt;
&lt;br /&gt;
María García Fernández&lt;br /&gt;
&lt;br /&gt;
José Manuel Corbí Garrido&lt;br /&gt;
&lt;br /&gt;
Estefanía Jiménez Ocampo&lt;br /&gt;
&lt;br /&gt;
Diego García Vaquero&lt;br /&gt;
&lt;br /&gt;
José Francisco Aguilera Corral}}&lt;br /&gt;
&lt;br /&gt;
=Introducción y modelización del problema=&lt;br /&gt;
&lt;br /&gt;
En este artículo analizaremos el comportamiento de un cable tenso de 10 metros de longitud en una estructura civil. El cable se encontrará sujeto por los extremos y será sometido a pequeñas vibraciones. Para estudiar el problema haremos ciertas hipótesis que simplificarán el problema, y que en muchos casos dan una buena aproximación del comportamiento real que tendría un cable como el que aquí estudiamos.&lt;br /&gt;
&lt;br /&gt;
En cuanto a las '''características mecánicas del cable''' haremos las siguientes '''hipótesis''': &lt;br /&gt;
&lt;br /&gt;
* El cable tendrá una sección despreciable frente a su longitud.&lt;br /&gt;
* Será un cable homogéneo, es decir, la masa por unidad de volumen será constante.&lt;br /&gt;
* Dicho cable también será perfectamente flexible, es decir, solo ofrecerá resistencia a esfuerzos tangenciales (en su dirección longitudinal), siendo por ello nula su resistencia frente a esfuerzos de flexión y corte.&lt;br /&gt;
* El cable al someterlo a tracción trata de ser inextensible, es decir, que intenta ser lo suficientemente rígido (en dirección longitudinal) como para poder despreciar su extensibilidad, por el contrario al someterlo a compresión no ofrece resistencia y se arruga.&lt;br /&gt;
&lt;br /&gt;
Por otra parte el cable será sometido a '''pequeñas vibraciones''', las cuales podemos modelizar mediante la '''ecuación de ondas''' &amp;lt;math&amp;gt;u_{tt}-u_{xx}=0&amp;lt;/math&amp;gt;. Estas vibraciones, al ser pequeñas, son despreciables frente a su longitud total; preocupándonos únicamente por los desplazamientos verticales (fruto de la tracción) que sufre el cable. Estos desplazamientos verticales serán modelizados mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;, dependiente de dos variables; la &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; que indica la distancia al extremo de la cuerda tomado como referencia, y la &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; que define el tiempo.&lt;br /&gt;
&lt;br /&gt;
Las condiciones de frontera en este caso nos indican que el cable no sufrirá desplazamiento vertical en sus extremos &amp;lt;math&amp;gt;u(0,t)=0; u(10,t)=0&amp;lt;/math&amp;gt;. Por otra parte las condiciones iniciales &amp;lt;math&amp;gt;u(x,0)=0; u_{t}(x,0)=0&amp;lt;/math&amp;gt; se traducen en que inicialmente el desplazamiento vertical y la velocidad del cable en todos sus puntos es cero.&lt;br /&gt;
&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0; x∈[0,10]; t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En los sucesivos apartados estudiaremos el comportamiento del cable en diferentes situaciones, que se traducirán en diferentes condiciones para el problema (cambios en las condiciones y en la ecuación de ondas con la que modelizamos las pequeñas vibraciones).&lt;br /&gt;
&lt;br /&gt;
=Desplazamiento vertical del cable=&lt;br /&gt;
Sujetando el cable desde el centro y desplazándolo dos metros en la dirección perpendicular, estudiaremos el comportamiento del cable una vez lo soltemos. Estará sometido a unas pequeñas vibraciones, que originarán desplazamientos verticales a lo largo del cable que aproximaremos mediante la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt;. Teniendo en cuenta el desplazamiento vertical de dos metros y que el cable es soltado con una velocidad nula, el problema que vamos a estudiar es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación estudiaremos el desplazamiento vertical al que se ve cada punto del cable expuesto y para cada instante de tiempo. Para ello aproximaremos la ecuación diferencial que modeliza el comportamiento de dicho cable mediante los métodos de diferencias finitas y mediante series de Fourier, obteniendo gráficas que reflejan la posición de cada punto del cable en cada instante.&lt;br /&gt;
==Aproximación mediante diferencias finitas==&lt;br /&gt;
Dentro del método de diferencias finitas se nos plantea un sistema de ecuaciones diferenciales, que resolveremos aplicando diferentes métodos de los cuales luego compararemos su precisión a la hora de aproximar el comportamiento del cable y su estabilidad.&lt;br /&gt;
&lt;br /&gt;
El primer método que utilizaremos para resolver el nuestro problema de ondas será el '''método del trapecio''', el cual es '''incondicionalmente estable'''. Para implementar este método y observar el comportamiento del cable en una gráfica usaremos el siguiente código en matlab:&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo la gráfica:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo1GRP9.jpeg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método del trapecio]]&lt;br /&gt;
&lt;br /&gt;
Usaremos también el '''método de Euler''', el cual es un método '''explícito''' y por tanto dependemos de la ecuación para que pueda ser o no factible de ejecutar. El siguiente código matlab nos permite ejecutarlo:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler explícito&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v+F;&lt;br /&gt;
    v=v-dt*k*u+F;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Obteniendo el siguiente gráfico del comportamiento del cable respecto al tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo2GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
El último método que empleamos para resolver el problema planteado mediante diferencias finitas es el '''método de Euler modificado''', el cual tiene más precisión que el método de Euler explícito. El código que se muestra a continuación ejecuta dicho método y nos proporciona una gráfica del cable:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler modificado&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
  l=k*u;&lt;br /&gt;
    % calculamos k1=f(t_n,y_n)&lt;br /&gt;
    k1=[ v l]';&lt;br /&gt;
    % Calculamos k2=f(t_n+h/2,y_n+1/2k1*h)&lt;br /&gt;
    %xp=x(n)+dt; %argumento de tiempo&lt;br /&gt;
    %solp=sol+dt*k1; %argumento y &lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    %Calculamos k3=f(t_n+h/2,y_n+1/2k2*h)&lt;br /&gt;
    %mismo argumento tiempo que antes&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    u=u+dt/2*(k1(1,:)'+k2(1,:)')+F;&lt;br /&gt;
    l=+k*u;&lt;br /&gt;
    k1=[v l]';&lt;br /&gt;
    k2=[v l]';&lt;br /&gt;
    v=v-dt/2*(k1(2,:)'+k2(2,:)')+F;&lt;br /&gt;
   % v=v-dt/2*(k*u+k*u)+F;&lt;br /&gt;
   sol(n+1,:)=[0 , u' , 0];&lt;br /&gt;
     &lt;br /&gt;
end  &lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler modificado')&lt;br /&gt;
}}&lt;br /&gt;
La gráfica que se obtiene es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ImagenCodigo3GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante diferencias finitas con el método de Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
==Aproximación mediante el método de Fourier==&lt;br /&gt;
===Con un término de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con un término&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con un término (Q=1)&lt;br /&gt;
&lt;br /&gt;
Q=1;&lt;br /&gt;
for k=1:Q&lt;br /&gt;
p=sin(k*pi/10*x) ;&lt;br /&gt;
fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con un término')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo4GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con un término]]&lt;br /&gt;
&lt;br /&gt;
===Con tres términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con tres términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con tres términos (Q=3)&lt;br /&gt;
&lt;br /&gt;
Q=3;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x,p.*p);&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con tres términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo5GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con tres términos]]&lt;br /&gt;
&lt;br /&gt;
===Con cinco términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con cinco términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con cinco términos (Q=5)&lt;br /&gt;
&lt;br /&gt;
Q=5;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con cinco términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo6GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con cinco términos]]&lt;br /&gt;
&lt;br /&gt;
===Con diez términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con diez términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=10)&lt;br /&gt;
&lt;br /&gt;
Q=10;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con diez términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo7GRP9.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con diez términos]]&lt;br /&gt;
&lt;br /&gt;
===Con veinte términos de la serie===&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante Fourier con veinte términos&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
dt=0.1; &lt;br /&gt;
M=T/dt;&lt;br /&gt;
x=0:h:10;&lt;br /&gt;
posicion=(2-abs(2-x*2/5));&lt;br /&gt;
velocidad=0*x;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante Fourier con diez términos (Q=20)&lt;br /&gt;
&lt;br /&gt;
Q=20;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    p=sin(k*pi/10*x) ;&lt;br /&gt;
    fourier1(k)=trapz(x,posicion.*p)/trapz(x, p.*p);&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[XX,TT]=meshgrid(x,t);&lt;br /&gt;
U=0;&lt;br /&gt;
&lt;br /&gt;
for k=1:Q&lt;br /&gt;
    U=U+(fourier1(k)*cos(k*pi/10*TT)).*sin(k*pi/10*XX);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
surf(XX,TT,U)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante Fourier con veinte términos')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ImagenCodigo8.jpg|border|Ecuación de ondas para el cable de una estructura civil. Aproximación mediante Fourier con veinte términos]]&lt;br /&gt;
&lt;br /&gt;
==Comparativa de diferencias finitas y Fourier. Interpretación de las gráficas anteriores==&lt;br /&gt;
&lt;br /&gt;
Todas las gráficas obtenidas mediante diferencias finitas (con sus distintos métodos) y Fourier representan la aproximación numérica de la solución del problema planteado, es decir, el desplazamiento vertical de todos los puntos de nuestro cable a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
Considerando los órdenes de precisión de cada uno de los métodos empleados en los programas de diferencias finitas, para aproximar la solución de nuestro problema (la función &amp;lt;math&amp;gt;u(x,t)&amp;lt;/math&amp;gt; que representa el desplazamiento vertical): Podemos concluir que el método del trapecio (orden 2) es el más preciso, seguido del método de Euler modificado y por último del método de Euler explícito (orden 1).&lt;br /&gt;
&lt;br /&gt;
En cuanto a la resolución del problema mediante Fourier, podemos observar que a medida que aumentamos el número de términos de la serie de Fourier, la forma de la solución pasa de ser más redondeada a más recta, pareciéndose cada vez más a la solución obtenida por el método de las diferencias finitas. El aumento del número de términos considerados en Fourier hace el método más estable.&lt;br /&gt;
&lt;br /&gt;
=Energía del cable=&lt;br /&gt;
&lt;br /&gt;
La energía mecánica del cable viene definida por la siguiente función:: &amp;lt;math&amp;gt; E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx &amp;lt;/math&amp;gt;&lt;br /&gt;
Mediante el programa que se muestra a continuación procederemos a dibujar la gráfica de la función &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;, que cuantifica la energía del cable. Previamente, y recurriendo al concepto de derivada, aproximaremos los valores que toman &amp;lt;math&amp;gt;u_{t}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;u_{x}&amp;lt;/math&amp;gt;, para así después poder calcular la integral que define &amp;lt;math&amp;gt;E(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=Aquí hay que subir CodigoEnergia.m &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se observa que el valor de la energía total del cable, para un paso del tiempo de 0.05 segundos, oscila aproximadamente entre 1.560 y 1.590. Este rango se reduce si elegimos un paso más pequeño para el tiempo y el espacio. Por tanto, aunque la aproximación no es perfecta, sí podemos confirmar que la energía mecánica del sistema se conserva.&lt;br /&gt;
&lt;br /&gt;
=Ejemplos de aplicación de cables en estructuras civiles=&lt;br /&gt;
==Cable sumergido en el mar (medio viscoso)==&lt;br /&gt;
En este caso el cable está sumergido en un medio viscoso que produce amortiguamiento.&lt;br /&gt;
El problema que se nos plantea es el siguiente:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0; x∈[0,10];  t∈[0,40] \\&lt;br /&gt;
u(0,t)=0; u(10,t)=0\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a estudiar lo que ocurre con la energía en estas condiciones, dependiendo del parámetro &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;. Damos a &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; los valores de 0, 1 ,4, 10 y 100. Para ello utilizamos el método numérico de las diferencias finitas empleando Euler con un paso muy pequeño.&lt;br /&gt;
En el caso de que a valga cero estamos ante el mismo caso que si no estuviese sumergido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:CodigoViscosoA0CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=0]]&lt;br /&gt;
[[Archivo:CodigoViscosoA1CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=1]]&lt;br /&gt;
[[Archivo:CodigoViscosoA4CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=4]]&lt;br /&gt;
[[Archivo:CodigoViscosoA10CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=10]]&lt;br /&gt;
[[Archivo:CodigoViscosoA100CORREGIDO.jpg|border|Cable sumergido en un medio viscoso (p.ej el mar)con a=100]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Cable sumergido en un medio viscoso (p.ej el mar)con a=0&lt;br /&gt;
% Cambiando el valor de a definido más adelante obtenemos todas las gráficas&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}+a*u_{t}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=0; u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
sol(1,:)=[ 0 , u0' , 0];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
a=0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u-dt*a*v;&lt;br /&gt;
    sol(j+1,:)=[0 , u' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Gráficas&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método de Euler explícito')&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
ffff=sol(1,:);&lt;br /&gt;
plot(x,ffff);&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Desplazamiento inicial del cable')&lt;br /&gt;
title('Desplazamiento inicial de los puntos del cable')&lt;br /&gt;
&lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=1:v(1)-1&lt;br /&gt;
  for j=1:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i,j))/h;&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j))/h;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
laux=length(xaux);&lt;br /&gt;
otro=length(e(2,:));&lt;br /&gt;
for k=1:v(1)-1&lt;br /&gt;
  E(k)=trapz(xaux,e(k,:));&lt;br /&gt;
 end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
lE=length(E);&lt;br /&gt;
lt=length(t);&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
plot(t,E)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title ('Energía con a=0')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observamos que, al sumergir el cable en un medio viscoso, el desplazamiento vertical de las ondas es cada vez más pequeño. Esto se debe a que la energía disminuye con el tiempo. Además, al aumentar el valor de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, la energía se disipa más rápidamente. Como el medio es más viscoso, la oposición al desplazamiento vertical del cable es mayor.&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a una estructura sometida a vibraciones periódicas==&lt;br /&gt;
Ahora nos preguntamos qué ocurriría si el extremo derecho del cable está sujeto a una estructura que sufre vibraciones periódicas. La frecuencia de estas vibraciones es de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; Herzios. Tomamos por ejemplo &amp;lt;math&amp;gt;f(t) = sin(2 \pi F_{0})&amp;lt;/math&amp;gt;. Vamos a calcular el comportamiento de la energía cuando el cable parte inicialmente del reposo y tomamos un tiempo t. Repetiremos el proceso con distintos  valores de &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; para observar si se produce alguna diferencia. &lt;br /&gt;
&lt;br /&gt;
Tomamos &amp;lt;math&amp;gt;F_{0}&amp;lt;/math&amp;gt; igual a 1/L+0,01 Hz, 1/L-0,01 Hz y 1/L Hz.&lt;br /&gt;
&lt;br /&gt;
El problema nos quedaría planteado de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10]; t∈[0,60]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=sin(2 \pi F_{0})\\&lt;br /&gt;
u(x,0)=0; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cable sujeto a un aparato que envía una respuesta a las vibraciones==&lt;br /&gt;
En este apartado vamos a calcular el comportamiento de la energía para el valor b suponiendo ahora que el extremo derecho del cable está sujeto a un aparato que envía una respuesta a la vibración que recibe de manera que la condición de contorno ahora es &amp;lt;math&amp;gt;u_{x}(L,t)=bu(L,t)&amp;lt;/math&amp;gt;.  Tomamos como condición inicial &amp;lt;math&amp;gt;u(x,0)=2-|2-\frac{2}{5}x|&amp;lt;/math&amp;gt; y observando en qué cambia la energía en función de distintos valores de b. estudiamos dos casos concretos: b=-2 y b=2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0;  x∈[0,10];   t∈[0,40]\\&lt;br /&gt;
u(0,t)=0; u_{x}(10,t)=b u(10,0) \\&lt;br /&gt;
u(x,0)=2-|2-\frac{2}{5}x|; u(5,0)=2\\&lt;br /&gt;
u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolvemos este problema por diferencias finitas utilizando el método de Euler, con un paso pequeño para que la aproximación sea más exacta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43b2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
No podemos apreciar para valores de b positivos (como el estudiado, b=2) cambios importantes en la energía. Esta no aumenta ni disminuye de manera significativa.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=%% Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x[0,10]; t[0,40]; &lt;br /&gt;
% u(0,t)=0; u(10,t)=bu(10,0) &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
b=-2;&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.01;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L;&lt;br /&gt;
&lt;br /&gt;
dt=h/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
k(N,N-1)=-2;&lt;br /&gt;
k(N,N)=2+b*(2*h);&lt;br /&gt;
&lt;br /&gt;
k=(1/h^2)*k;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método de Euler y obtención de las derivadas&lt;br /&gt;
&lt;br /&gt;
f0=0.1;&lt;br /&gt;
sol(1,:)=[ 0 , u0'];&lt;br /&gt;
u=u0;&lt;br /&gt;
v=v0;&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    u=u+dt*v;&lt;br /&gt;
    v=v-dt*k*u;&lt;br /&gt;
    sol(j+1,:)=[0 , u' ];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
  &lt;br /&gt;
v=size(sol);&lt;br /&gt;
for i=2:v(1)-1&lt;br /&gt;
  for j=2:v(2)-1&lt;br /&gt;
    Ux(i,j)=(sol(i+1,j)-sol(i-1,j))/(2*h);&lt;br /&gt;
    Ut(i,j)=(sol(i,j+1)-sol(i,j-1))/(2*h);&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
e=Ux.^2+Ut.^2;&lt;br /&gt;
xaux=[0,xint];&lt;br /&gt;
&lt;br /&gt;
%% Energía&lt;br /&gt;
&lt;br /&gt;
for k=1:v(1)-2&lt;br /&gt;
    E(k)=trapz(xaux(2:end),e(k,:));&lt;br /&gt;
end&lt;br /&gt;
t(401)=[ ];&lt;br /&gt;
plot(t(2:end-1),E(2:end))&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Energía')&lt;br /&gt;
title('Gráfica energía-tiempo para b=-2')&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Codigo43bmenos2.jpg|border|Cable sujeto a un aparato que envía una respuesta a las vibraciones (b=-2)&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Se observa que cuanto mayor es la tensión del cable, mayor es el desplazamiento vertical. Se está otorgando energía al sistema. De está forma, para valores de b negativos (por ejemplo b=-2), la energía crece de manera exponencial y tiende a infinito. Se produce un efecto de resonancia, incrementándose la energía.&lt;br /&gt;
&lt;br /&gt;
=Visualización del movimiento del cable=&lt;br /&gt;
Si el siguiente código basado en el método de diferencias finitas (mediante el método del trapecio) analizado anteriormente (en el apartado 2) se ejecuta en MATLAB (Octave no admite animaciones), se puede apreciar en la primera imagen que proporciona el programa la solución al problema enunciado en el apartado 2. Lo siguiente en salir por pantalla es una animación de la solución obtenida a lo largo del tiempo, de forma que cuando se agota el intervalo de tiempo en el que estudiamos el problema, queda la misma imagen que la primera que nos proporciona este programa; con este programa vemos como la onda va &amp;quot;viajando&amp;quot;. La tercera imagen en salir por pantalla es la representación del desplazamiento vertical que sufre el cable a lo largo del tiempo, es decir, la vibración de todos los puntos de nuestro cable.&lt;br /&gt;
{{matlab|codigo=%% Aproximación del desplazamiento vertical del cable (u) mediante diferencias finitas con el método del trapecio&lt;br /&gt;
&lt;br /&gt;
%% Enunciado del problema&lt;br /&gt;
&lt;br /&gt;
% u_{tt}-u_{xx}=0; x?[0,10]; t&amp;gt;0 &lt;br /&gt;
% u(0,t)=0; u(10,t)=0 &lt;br /&gt;
% u(x,0)=2-abs(2-\frac{2}{5}x); u(5,0)=2\\  u_{t}(x,0)=0\\&lt;br /&gt;
&lt;br /&gt;
%% Planteamiento y discretización&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
L=10;&lt;br /&gt;
T=40;&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=h:h:L-h;&lt;br /&gt;
&lt;br /&gt;
dt=h;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
&lt;br /&gt;
k=2*diag(ones(1,N-1))-diag(ones(1,N-2),1)-diag(ones(1,N-2),-1);&lt;br /&gt;
k=(1/h^2)*k;;&lt;br /&gt;
&lt;br /&gt;
F=zeros(N-1,1);&lt;br /&gt;
&lt;br /&gt;
u0=(2-abs(2-xint*2/5))';&lt;br /&gt;
v0=0*xint';&lt;br /&gt;
&lt;br /&gt;
M=[zeros(N-1) eye(N-1); -k zeros(N-1) ];&lt;br /&gt;
G=[zeros(N-1,1); F];&lt;br /&gt;
&lt;br /&gt;
%% Aproximación de u mediante el método del trapecio&lt;br /&gt;
&lt;br /&gt;
w0=[u0 ; v0];&lt;br /&gt;
ww=w0;&lt;br /&gt;
sol(1,:)=[ 0 , w0(1:N-1)' , 0];&lt;br /&gt;
&lt;br /&gt;
for j=1:length(t)-1&lt;br /&gt;
    ww=(eye(2*N-2)-dt/2*M)\((eye(2*N-2)+dt/2*M)*ww+dt*G);&lt;br /&gt;
    &lt;br /&gt;
    sol(j+1,:)=[0 , ww(1:N-1)' , 0];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%% Representación gráfica&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
xlabel('Cable')&lt;br /&gt;
ylabel('Tiempo')&lt;br /&gt;
zlabel('Desplazamiento vertical')&lt;br /&gt;
title('u aproximado mediante diferencias finitas con el método del trapecio')&lt;br /&gt;
&lt;br /&gt;
%% Animación.&lt;br /&gt;
&lt;br /&gt;
% Muestra el desplazamiento vertical de cada punto del cable en cada instante&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
[n,m]=size(sol);&lt;br /&gt;
aux=zeros(size(sol));&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    surf(xx,tt,aux); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Tiempo')&lt;br /&gt;
    zlabel('Desplazamiento vertical')&lt;br /&gt;
    zlim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
for j=1:n&lt;br /&gt;
    % Se va analizando el desplazamiento vertical en cada instante (j) de&lt;br /&gt;
    % todos los puntos (i) del cable&lt;br /&gt;
    for i=1:m&lt;br /&gt;
        aux(j,i)=sol(j,i);&lt;br /&gt;
    end&lt;br /&gt;
    plot(x,aux(j,:)); % Es la representación de todos los puntos (i) del cable en un instante dado&lt;br /&gt;
    xlabel('Cable')&lt;br /&gt;
    ylabel('Desplazamiento vertical')&lt;br /&gt;
    ylim([-2 2])&lt;br /&gt;
    MFRAMES=getframe;   % Guarda una foto del cable en cada instante&lt;br /&gt;
end&lt;br /&gt;
movie=MFRAMES;&lt;br /&gt;
}}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Diego García Vaquero</name></author>	</entry>

	</feed>