Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %%%%%%%%%%%%% funkcja.m
- % Lab 5.
- % Marta Trzaska 171632 SiSR
- function [f_uC, f_iL] = funkcja(C, i_L, L, E, R, u_C)
- f_uC = (1/C) * i_L; %d/dt*u_C
- f_iL = (1/L) *(E - R - i_L - u_C); %d/dt*i_L
- end
- %%%%%%%%%%%%% euler.m
- % Lab 5.
- % Marta Trzaska 171632 SiSR
- function [u_C, i_L] =euler(x_0, funkcja, t, h)
- global C L E R;
- t_h = t/h;
- u_C = zeros(1, t_h + 1);
- i_L = zeros(1, t_h + 1);
- u_C(1) = x_0(1);
- i_L(1) = x_0(2);
- for i=2:(length(t_h)+1)
- [f_uC, f_iL] = funkcja(C, i_L(i-1), L, E, R, u_C(i-1));
- u_C(i) = u_C(i-1) + h*f_uC;
- i_L(i) = i_L(i-1) + h*f_iL;
- end
- end
- %%%%%%%%%%%%% driver.m
- % Lab 5.
- % Marta Trzaska 171632 SiSR
- clc;
- %Dane
- E = 5; %[V]
- R = 50; %ohm
- L = 0.1; %[H]
- C = 1e-05; %[F]
- x_0 = [0;0];
- t = 20e-03; %[ms]
- h_1 = 1e-06;
- h_2 = 1e-03;
- [u_C_h1, i_L_h1] = euler(x_0, @funkcja, t, h_1);
- [u_C_h2, i_L_h2] = euler(x_0, @funkcja, t, h_2);
- figure;
- plot([1:length(u_C_h1)], u_C_h1);
- title('Wykres zależności u_{C} od czasu (dla h_{1}=0.001)');
- xlabel('t [ms]');
- ylabel('u_{C} [V]');
- figure;
- plot([1:length(u_C_h2)], u_C_h2);
- title('Wykres zależności u_{C} od czasu (dla h_{2}=0.000001)');
- xlabel('t [ms]');
- ylabel('u_{C} [V]');
- figure;
- plot([1:length(i_L_h1)], i_L_h1);
- title('Wykres zależności i_{L} od czasu (dla h_{1}=0.001)');
- xlabel('t [ms]');
- ylabel('i_{L} [mA]');
- figure;
- plot([1:length(i_L_h2)], i_L_h2);
- title('Wykres zależności i_{L} od czasu (dla h_{2}=0.000001)');
- xlabel('t [ms]');
- ylabel('i_{L} [mA]');
- figure;
- plot([1:length(u_C_h1)], i_L_h1);
- title('Wykres zależności i_{L} od u_{C} (dla h_{1}=0.001)');
- xlabel('u_{C} [V]');
- ylabel('i_{L} [mA]');
- figure;
- plot([1:length(u_C_h2)], i_L_h2);
- title('Wykres zależności i_{L} od u_{C} (dla h_{2}=0.000001)');
- xlabel('u_{C} [V]');
- ylabel('i_{L} [mA]');
Add Comment
Please, Sign In to add comment