Diferencia entre revisiones de «Usuario:Diegojimenezarranz»
(→Cálculo analítico y representación gráfica) |
(→Método de Euler) |
||
| Línea 28: | Línea 28: | ||
== Método de Euler == | == Método de Euler == | ||
| + | Aplicamos el '''Método de Euler''' mediante un problema de valor inicial(P.V.I) y comparamos los resultados con los obtenidos analíticamente: | ||
| + | {{matlab|codigo= | ||
| + | % Primer Paso: insertar los datos conocidos (condiciones iniciales). | ||
| + | t0=input('inserte tiempo inicial:'); %t[0,0.5] | ||
| + | tN=input('inserte tiempo final:'); | ||
| + | y0=input('inserte valor inicial:'); %valor inicial=0 | ||
| + | |||
| + | L=0.2; | ||
| + | R=5; | ||
| + | V=20; | ||
| + | |||
| + | % Segundo Paso: definir la función f (y'=f). | ||
| + | f=@(t,y)(V-R*y)/L; | ||
| + | |||
| + | % Tercer Paso: calcular 'N' y 'h' dependiendo de lo que den. Si dan la | ||
| + | % 'h', N=round((tN-t0)/h). Es decir, discretizamos. | ||
| + | h=0.01; | ||
| + | N=round((tN-t0)/h); | ||
| + | |||
| + | % Cuarto Paso: definir el vector de tiempos. | ||
| + | t=linspace(t0,tN,N+1); | ||
| + | |||
| + | % Quinto Paso: preparamos el vector 'y', que es el vector solución aproximada, de tamaño 't'. | ||
| + | y=zeros(size(t)); | ||
| + | y(1)=y0; | ||
| + | |||
| + | % Sexto Paso: ahora aplicamos el esquema numérico del método que nos | ||
| + | % indiquen, en este caso, el método Euler. Por lo que creamos un bucle. | ||
| + | fori=1:N | ||
| + | y(i+1)=y(i)+h*f(t(i),y(i)); %Fórmula de Euler | ||
| + | end | ||
| + | |||
| + | plot(t,y,'r') | ||
| + | xlabel('Tiempo (s)') | ||
| + | ylabel('Intensidad (A)') | ||
| + | title('Euler') | ||
| + | |||
| + | [t',y'] | ||
| + | }} | ||
Revisión del 12:52 27 abr 2017
1 Introducción
El circuito eléctrico mas simple es aquel que contiene una bobina o inductor y una resistencia, además de una fuente de alimentación. El circuito eléctrico RL conecta en serie una bobina y una resistencia
En una resistencia R, la ley de Ohm establece i(t)=v(t)*R, donde i(t) es la intensidad de corriente (en amperios A), v(t) el voltaje (dado en voltios V) y R el coeficiente de resistencia (en Ohmios Ω). En un inductor L, la ley de Faraday establece v(t) = L*(di(t)/dt) donde L es el coeficiente de autoinducción (dado en Henrios H) También tenemos en cuenta las Leyes de Kirchhoff, que establecen el comportamiento de los circuitos:
1. Ley de corrientes: En cada nodo, la suma de corrientes que entra es igual a la que sale.
2. Ley de tensiones: En cada ciclo cerrado o malla, la suma de diferencias de potencial es nula.
Para escribir la ecuación diferencial del circuito de la figura, estando dicho circuito cerrado, y con las ecuaciones conocidas y escritas en la introducción, aplicamos las siguientes fórmulas:
- La ecuación que define la tensión de la resistencia (R) es: V R(t) = i(t) * R
- La ecuación que define la inductancia (L) es: V L(t) = L* (di(t)/dt)
Aplicando la ley de Kirchhoff de voltaje, tenemos la tensión total del circuito: V(t) = VR(t) + VL(t) = R * i(t) + L * (di(t)/dt) Nombrando a la variable “i” como “y”, obtenemos finalmente la ecuación diferencial: Ly’ + Ry = V(t)
2 Cálculo analítico y representación gráfica
Suponiendo que en el instante t0 = 0 el circuito pasa de estar abierto a cerrado calculamos analíticamente la intensidad en cada instante de tiempo t >0. Para ello suponemos los siguientes datos: el voltaje de la fuente de alimentación es constante E(t) = 20V , la inductancia es L = 0.2 y la resistencia R = 5Ω.Introducimos los datos en la ecuación diferencial previamente obtenida: Ly’+ Ry = V(t)y la resolvemos analíticamente 5y + 0.2y’ = 20.
3 Método de Euler
Aplicamos el Método de Euler mediante un problema de valor inicial(P.V.I) y comparamos los resultados con los obtenidos analíticamente:
% Primer Paso: insertar los datos conocidos (condiciones iniciales).
t0=input('inserte tiempo inicial:'); %t[0,0.5]
tN=input('inserte tiempo final:');
y0=input('inserte valor inicial:'); %valor inicial=0
L=0.2;
R=5;
V=20;
% Segundo Paso: definir la función f (y'=f).
f=@(t,y)(V-R*y)/L;
% Tercer Paso: calcular 'N' y 'h' dependiendo de lo que den. Si dan la
% 'h', N=round((tN-t0)/h). Es decir, discretizamos.
h=0.01;
N=round((tN-t0)/h);
% Cuarto Paso: definir el vector de tiempos.
t=linspace(t0,tN,N+1);
% Quinto Paso: preparamos el vector 'y', que es el vector solución aproximada, de tamaño 't'.
y=zeros(size(t));
y(1)=y0;
% Sexto Paso: ahora aplicamos el esquema numérico del método que nos
% indiquen, en este caso, el método Euler. Por lo que creamos un bucle.
fori=1:N
y(i+1)=y(i)+h*f(t(i),y(i)); %Fórmula de Euler
end
plot(t,y,'r')
xlabel('Tiempo (s)')
ylabel('Intensidad (A)')
title('Euler')
[t',y']