% ========== % Apartado I % ========== % % * * * Ejemplos * * * dsolve('Dy=-a*y') dsolve('Dy=a*y','y(0)=b') dsolve('Df=f+sin(t)') dsolve('(Dy)^2+y^2=1','s') dsolve('(Dy)^2+y^2=1','y(0)=0') r=dsolve('Dx=y','Dy=-x') % %% * * * EJERCICIO 1 * * * % y1=simple(dsolve('Dy+2*y=t*exp(2*t)','y(0)=0'));y1 y2=simple(dsolve('D2y-2*Dy+2*y=sin(t)*exp(2*t)','y(0)=-0.4','Dy(0)=-0.6'));y2 y3=simple(dsolve('Dy=5*exp(5*t)*(y-t)^2+1','y(0)=-1'));y3 % =========== % Apartado II % =========== % % * * * Ejemplo 1 * * * % fichero con la definición de la función % * * * INICIO * * * function dydt = vdp1(t,y) dydt = [y(2); (1-y(1)^2)*y(2)-y(1)]; % * * * FIN * * * % vdp1=inline('[x(2); (1-x(1)^2)*x(2)-x(1)]') % No valido [t,y] = ode45(@vdp1,[0 20],[2; 0]); plot(t,y(:,1),'-',t,y(:,2),'--') title('Solución de la ecuación de van der Pol, \mu = 1'); xlabel('tiempo t'); ylabel('solución y'); legend('y_1','y_2') % % * * * Ejemplo 2 * * * % fichero con la definición de la función % * * * INICIO * * * function dydt = vdp1000(t,y) dydt = [y(2); 1000*(1-y(1)^2)*y(2)-y(1)]; % * * * FIN * * * [t,y] = ode15s(@vdp1000,[0 3000],[2; 0]); subplot(2,1,1);plot(t,y(:,1),'-') title('Solución de la ecuación de van der Pol, \mu = 1'); xlabel('tiempo t');ylabel('solución y');legend('y_1') subplot(2,1,2);plot(t,y(:,2),'-') title('Solución de la ecuación de van der Pol, \mu = 1'); xlabel('tiempo t');ylabel('solución y');legend('y_2') % % * * * Ejemplo 3 * * * sol = ode45(@vdp1,[0 20],[2; 0]); xint= 1:5 deval(sol,xint) % %% * * * EJERCICIO 2 * * * % a=0;b=1; t=linspace(a,b); % % caso 1 edoej1=inline('t*exp(2*t)-2*y'); [t1,w1]= ode45(edoej1,[a,b],[0]); plot(t,subs(y1,t),t1,w1,'d'); legend('Analitica','Aproximada','Location','B') % % caso 2 % fichero con la definición de la función % * * * INICIO * * * function dydt = edoej2(t,y) dydt = [y(2); 2*y(2)-2*y(1)+sin(t)*exp(2*t)]; % * * * FIN * * * [t2,w2]= ode45(@edoej2,[a,b],[-0.4,-0.6]); plot(t,subs(y2,t),t2,w2(:,1),'d'); legend('Analitica','Aproximada','Location','B') % % caso 3 edoej3=inline('5*exp(5*t)*(y-t)^2+1'); [t3,w3]= ode15s(edoej3,[a,b],[-1]); plot(t,subs(y3,t),t3,w3,'d'); legend('Analitica','Aproximada','Location','B')