4.2. Všeobecný elektrický obvod#
Pri riešení tohto príkladu postupujeme rovnako ako v predchádzajúcom príklade.

Obr. 4.2 Elektrický obvod.#
Najprv použijeme druhý Kirchhoffov zákon na získanie prvej diferenciálnej rovnice
(4.7)#
Ďalej použijeme prvý Kirchhoffov zákon na získanie druhej diferenciálnej rovnice
(4.8)#
(4.9)#
4.2.1. Stavový opis#
Získané diferenciálne rovnice prevedieme do maticového stavu
(4.10)#
(4.11)#
(4.12)#
(4.13)#
4.2.2. Matlab/Octave#
Ukáž kód
% elektricky obvod
clc
clear all
close all
% parametre obvodu
rL=1e-3;
rC=5e6;
us=10;
L=10e-6;
C=10e-6;
Rz=100;
% krok simulacie
dt=1e-6;
% simulacny cas
Tsim=0.001;
R=(Rz*rC)/(rC+Rz);
% stavove matice
A=[-rL/L -1/L;
1/C -1/(C*R)];
B=[1/L 0;
0 0];
u=[us;0];
% matice nepriamej eulerovej metody
F=inv(eye(size(A))-dt*A);
G=F*dt*B;
% pociatocne podmienky
iL=0;
uC=0;
x=[iL;uC];
n=1;
% nepriama eulerova metoda
for t = 0:dt:Tsim
x=F*x+G*u;
iL(n)=x(1);
uC(n)=x(2);
time(n)=t;
n=n+1;
end
iC=(iL-(uC/R));
iR=uC/Rz;
% priebehy
figure
subplot(4,1,1)
plot(time,uC)
ylabel('uC [V]');
xlabel('t [s]');
grid on
subplot(4,1,2)
plot(time,iL)
ylabel('iL [A]');
xlabel('t [s]');
grid on
subplot(4,1,3)
plot(time,iC)
ylabel('iC [A]');
xlabel('t [s]');
grid on
subplot(4,1,4)
plot(time,iR)
ylabel('iR [A]');
xlabel('t [s]');
grid on
Online simulácia

Obr. 4.3 Priebehy elektrických veličín.#