Re: Nedělníček na Zenit

Miroslav Mraz mrazik na volny.cz
Neděle Leden 26 11:41:56 CET 2025


Tak mě napadá jak moc se změnila podstata potřebných znalostí od našeho 
mládí. Teď stačí vědět, že existuje nějaký simulátor. My jsem museli 
vědět, že je možné sestavit admitanční matici, provést její inverzi, 
zavést do příslušného uzlu proud, vypočítat napětí na něm a z toho pak 
přímo vyjde odpor jako poměr napětí a proudu. Inverze matice byla dost 
námaha, lepší kalkulačky to snad zvládly (TI59), ale už si to moc 
nepamatuji.
Dneska už asi všichni umí trochu python, stačí vědět, že na to existuje 
knihovna, takže nejpracnější je sestavení té matice. Jsou na to 
jednoduchá pravidla, ale najít je na webu je dost pracné. Ten simulátor 
to dělá úplně stejně. Výpočet je pak snadný :

def meq (M,N):  # Matrix ekvivalent
   EF = zip (M.tolist(),N.tolist())
   for e,f in EF:      # po řádcích
     row = zip (e, f)
     for m,n in row:   # elements
       if m != n: return False
   return True
def hexa(): # A=GND, B  C  D  E  F  G
   GM = np.matrix ([[ 3, 0,-1, 0,-1,-1],     # B
                    [ 0, 3,-1, 0, 0,-1],     # C
                    [-1,-1, 3, 0, 0,-1],     # D
                    [ 0, 0, 0, 3,-1,-1],     # E
                    [-1, 0, 0,-1, 3,-1],     # F
                    [-1,-1,-1,-1,-1, 6],])   # G
   # Matrix control
   if not meq (GM, GM.transpose()): return False
   i  = 5
   S  =           ['B','C','D','E','F','G']
   I  = np.matrix ([i,  0,  0,  0,  0,  0])
   V  = GM.getI() * I.transpose() # napětí
   d  = dict (zip(S,V.transpose().tolist()[0]))
   print ('2.R(B) = {:g}/{:g} Ω'.format(d['B'], i))
   return True
def cube(): # A=GND, B  C  D  E  F  G  H
   GM = np.matrix ([[ 3,-1, 0, 0,-1, 0, 0],  # B
                    [-1, 3,-1, 0, 0,-1, 0],  # C
                    [ 0,-1, 3, 0, 0, 0,-1],  # D
                    [ 0, 0, 0, 3,-1, 0,-1],  # E
                    [-1, 0, 0,-1, 3,-1, 0],  # F
                    [ 0,-1, 0, 0,-1, 3,-1],  # G
                    [ 0, 0,-1,-1, 0,-1, 3],])# H
   # Matrix control
   if not meq (GM, GM.transpose()): return False
   i  = 6
   S  =           ['B','C','D','E','F','G','H']
   I  = np.matrix ([0,  0,  0,  0,  0,  i,  0])
   V  = GM.getI() * I.transpose() # napětí
   d  = dict (zip(S,V.transpose().tolist()[0]))
   print ('3.R(G) = {:g}/{:g} Ω'.format(d['G'], i))
   return True
hexa()
cube()

a výstup je pak :
2.R(B) = 4/5 Ω
3.R(G) = 5/6 Ω

Sranda že ?

Mrazík


On 26. 01. 25 9:10, Jiří Linhart wrote:
> Nenapadá mě jak jednoduše to počítat. Tak mě to nedalo a dal jsem to do 
> simulátoru
> 
> Zapojení 1 R=333,333 mohm https://tinyurl.com/23eylz5u
> 
> Zapojení 2 R=800mohm https://tinyurl.com/24flbsjq
> 
> Zapojení 3 R=833,33mohm https://tinyurl.com/24396g8e
> 
> 
> 
> JL
> 
> 


Další informace o konferenci Hw-list