Riešenie obvodov metódou slučkových prúdov: Rozdiel medzi revíziami
d  | 
				|||
| (Jedna medziľahlá úprava od jedného ďalšieho používateľa nie je zobrazená) | |||
| Riadok 1: | Riadok 1: | ||
| + | {{sablona_python_priklady|Elektronika}}  | ||
__NOTOC__  | __NOTOC__  | ||
[[Category:Python]]  | [[Category:Python]]  | ||
| Riadok 12: | Riadok 13: | ||
:<math>    | :<math>    | ||
| − | + |   R_1 J_1 + R_4 (J_1-J_2)=V_1 \,	  | |
</math>  | </math>  | ||
| Riadok 19: | Riadok 20: | ||
:<math>    | :<math>    | ||
| − | + |   R_2 J_2 + R_5 (J_2-J_3) + R_4(J_2-J_1) = 0 \,	  | |
</math>  | </math>  | ||
| Riadok 26: | Riadok 27: | ||
:<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.  | + | 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>    | :<math>    | ||
\left[ \begin{array}{ccc}  | \left[ \begin{array}{ccc}  | ||
| − | {  | + | {R_1+R_4} & -R_4          & 0       \\  | 
| − |     -  | + |     -R_4   & {R_2+R_4+R_5} & -R_5     \\  | 
| − |       0   | + |       0    & -R_5          & {R_3+R_5} \end{array} \right]    | 
\left[ \begin{array}{c}  | \left[ \begin{array}{c}  | ||
| − | + | J_1 \\  | |
| − | + | J_2 \\  | |
| − | + | J_3 \end{array} \right]  | |
=  | =  | ||
\left[ \begin{array}{c}  | \left[ \begin{array}{c}  | ||
| − | + | V_1 \\  | |
| − | 0 \\  | + | 0   \\  | 
| − | -  | + | -V_3 \end{array} \right]  | 
</math>  | </math>  | ||
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]