Riešenie obvodov metódou slučkových prúdov: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
(Vytvorená stránka „__NOTOC__ Category:Python Maticové metódy rozširujúceho balíka Pythonu ''pylab''<ref>http://www.scipy.org/PyLab</ref> je možné použiť pre analýzu jednoduchej…“)
 
d
 
(5 medziľahlých úprav od jedného ďalšieho používateľa nie je zobrazených)
Riadok 1: Riadok 1:
 +
{{sablona_python_priklady|Elektronika}}
 
__NOTOC__
 
__NOTOC__
 
[[Category:Python]]
 
[[Category:Python]]
Riadok 7: Riadok 8:
 
Analyzovaný obvod pozostáva z rezistorov a napäťových zdrojov. V obvode sú vyznačené slučkové prúdy J1, J2 a J3.
 
Analyzovaný obvod pozostáva z rezistorov a napäťových zdrojov. V obvode sú vyznačené slučkové prúdy J1, J2 a J3.
  
[[Súbor:py-cc-sch.png | thumb|center|400px | <div align="center"> Zapojenie obvodu </div>]]
+
[[Súbor:py-cc-sch.png | thumb|center|500px | <div align="center"> Zapojenie obvodu </div>]]
  
 
Pre slučku J1 môžeme na základe druhého Kirchhofovho zákona písať
 
Pre slučku J1 môžeme na základe druhého Kirchhofovho zákona písať
  
 
:<math>  
 
:<math>  
  R1 J1 + R4 (J1-J2)=V1 \,
+
  R_1 J_1 + R_4 (J_1-J_2)=V_1 \,
 
</math>
 
</math>
 +
  
 
pre slučku J2
 
pre slučku J2
  
 
:<math>  
 
:<math>  
  R2 J2 + R5 (J2-J3) + R4(J2-J1) = 0 \,
+
  R_2 J_2 + R_5 (J_2-J_3) + R_4(J_2-J_1) = 0 \,
 
</math>
 
</math>
 +
  
 
a pre slučku J3
 
a pre slučku J3
  
 
:<math>  
 
:<math>  
  -R5 J2 + (R3+R5)J3 = -V3 \,
+
  -R_5 J_2 + (R_3+R_5)J_3 = -V_3 \,
 
</math>
 
</math>
  
  
 +
Prepisom do maticového tvaru dostaneme výsledný tvar sústavy rovníc. Jej riešením získame hodnoty slučkových prúdov J1, J2 a J3.
 +
 +
:<math>
 +
\left[ \begin{array}{ccc}
 +
{R_1+R_4} & -R_4          & 0      \\
 +
  -R_4  & {R_2+R_4+R_5} & -R_5    \\
 +
    0    & -R_5          & {R_3+R_5} \end{array} \right]
 +
\left[ \begin{array}{c}
 +
J_1 \\
 +
J_2 \\
 +
J_3 \end{array} \right]
 +
=
 +
\left[ \begin{array}{c}
 +
V_1 \\
 +
0  \\
 +
-V_3 \end{array} \right]
 +
</math>
 +
 +
=== Výpočet obvodu ===
 +
 +
V interaktívnom móde Pythonu (konzola, iPython<ref>http://ipython.github.com/ipython-doc/</ref>) importujeme balík ''pylab'' pre vedecké výpočty a inicializujeme vstupné premenné hodnotami komponentov obvodu
 +
<source lang="python">
 +
>>> from pylab import *
 +
>>> R1=4.0; R2=6.0; R3=8.0; R4=10.0; R5=10.0
 +
>>> V1=12; V3=6
 +
</source>
 +
 +
Vytvoríme maticu rezistancií obvodu a vektor zdrojov
 +
<source lang="python">
 +
>>> R=mat([[R1+R4, -R4, 0],[-R1, R2+R4+R5, -R5],[0, -R5, R3+R5]])
 +
>>> V=mat([V1, 0, -V3])
 +
</source>
 +
 +
Pre riešenie sústavy rovníc potrebujeme transponovať riadkový vektor napätí na stľpcový vektor.
 +
<source lang="python">
 +
>>> V=transpose(V)
 +
</source>
 +
 +
Riešenie sústavy rovníc získame príkazom
 +
<source lang="python">
 +
>>> J=solve(R,V)
 +
</source>
 +
 +
Hodnoty prúdov vetvami obvodu získame triviálnym výpočtom
 +
<source lang="python">
 +
>>> I1=J[1]
 +
>>> I2=J[2]
 +
>>> I3=J[3]
 +
>>> I4=J[1]-J[2]
 +
>>> I5=J[2]-J[3]
 +
</source>
  
 
=== Literatúra a odkazy ===
 
=== Literatúra a odkazy ===
 
<references/>
 
<references/>

Aktuálna revízia z 11:36, 18. marec 2013

Tento príklad patrí pod predmet Základy informatiky - jazyk Python, časť Elektronika

Maticové metódy rozširujúceho balíka Pythonu pylab[1] je možné použiť pre analýzu jednoduchej elektrickej siete metódou slučkových prúdov.

Analýza obvodu

Analyzovaný obvod pozostáva z rezistorov a napäťových zdrojov. V obvode sú vyznačené slučkové prúdy J1, J2 a J3.

Zapojenie obvodu

Pre slučku J1 môžeme na základe druhého Kirchhofovho zákona písať

[math] R_1 J_1 + R_4 (J_1-J_2)=V_1 \, [/math]


pre slučku J2

[math] R_2 J_2 + R_5 (J_2-J_3) + R_4(J_2-J_1) = 0 \, [/math]


a pre slučku J3

[math] -R_5 J_2 + (R_3+R_5)J_3 = -V_3 \, [/math]


Prepisom do maticového tvaru dostaneme výsledný tvar sústavy rovníc. Jej riešením získame hodnoty slučkových prúdov J1, J2 a J3.

[math] \left[ \begin{array}{ccc} {R_1+R_4} & -R_4 & 0 \\ -R_4 & {R_2+R_4+R_5} & -R_5 \\ 0 & -R_5 & {R_3+R_5} \end{array} \right] \left[ \begin{array}{c} J_1 \\ J_2 \\ J_3 \end{array} \right] = \left[ \begin{array}{c} V_1 \\ 0 \\ -V_3 \end{array} \right] [/math]

Výpočet obvodu

V interaktívnom móde Pythonu (konzola, iPython[2]) importujeme balík pylab pre vedecké výpočty a inicializujeme vstupné premenné hodnotami komponentov obvodu

>>> from pylab import * 
>>> R1=4.0; R2=6.0; R3=8.0; R4=10.0; R5=10.0
>>> V1=12; V3=6

Vytvoríme maticu rezistancií obvodu a vektor zdrojov

>>> R=mat([[R1+R4, -R4, 0],[-R1, R2+R4+R5, -R5],[0, -R5, R3+R5]])
>>> V=mat([V1, 0, -V3])

Pre riešenie sústavy rovníc potrebujeme transponovať riadkový vektor napätí na stľpcový vektor.

>>> V=transpose(V)

Riešenie sústavy rovníc získame príkazom

>>> J=solve(R,V)

Hodnoty prúdov vetvami obvodu získame triviálnym výpočtom

>>> I1=J[1]
>>> I2=J[2]
>>> I3=J[3]
>>> I4=J[1]-J[2]
>>> I5=J[2]-J[3]

Literatúra a odkazy