Views
- State: visible
Ejemplo Euler
Ejemplo simple de for.
Size
1.0 kB
-
File type
text/x-objcsrc
File contents
% Esta función resuelve el problema y' = k*y, y(0) = 1, utilizando los métodos de Euler explícito e implícito. % INPUT: k, tf = tiempo final, h = paso de Euler. % OUTPUT: t = vector de tiempos, y = vector que aproxima la solución con el método explícito, + % z = vector que aproxima la solución con método implícito. function [t,y,z] = ej_euler(k,tf,h) t = [0:h:tf]'; %Define el vector de tiempos. Va traspuesto para que de una columna. n = length(t); %Cantidad de casilleros de t. y = zeros(n,1); %Inicializa el vector y, como una columna de n casilleros. y(1) = 1; %Dato inicial. z = zeros(n,1); %Idem para z. z(1) = 1; %Iteración de Euler: for i=1:n-1 y(i+1) = y(i)*(1+h*k); %Euler explícito. z(i+1) = z(i)/(1-h*k); %Euler implícito. end % Para plotear la solución: correr el programa desde la ventana de comandos, y luego: % plot(t,y) % hold on % plot(t,z,'r') % "hold on" evita que el segundo plot borre el primero. Se puede agregar a esto el gráfico de la solución exacta.