Riešenie obvodov metódou slučkových prúdov: Rozdiel medzi revíziami
 (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|  | + | [[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>    | ||
| − | + |   R_1 J_1 + R_4 (J_1-J_2)=V_1 \,	  | |
</math>  | </math>  | ||
| + | |||
pre slučku J2  | pre slučku J2  | ||
:<math>    | :<math>    | ||
| − | + |   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>    | ||
| − |   -  | + |   -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 10:36, 18. marec 2013
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.
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]