Detta skapar en PDF som du sedan kan skriva ut. Du kan även spara ner PDFn och skriva ut senare.
Titel på utskriften?
Tack för ditt bidrag
Om vi kan använda det så lägger vi upp det på sidan. Nedan en länk till ditt bidrag om du vill spara det.
Spara som ...
Du sparar ditt skript under detta namn och kan sedan hämta tillbaka det med samma namn.
Läs in
Läs in ett tidigare sparat skript. Obs att du enbart kan läsa in skript i den webbläsare där du sparade skriptet. Vill du kunna läsa in och spara skript oberoende av webbläsare, så behöver du skaffa ett login (enkelt och gratis).
Skicka in bidrag
Föreslå rubrik
Beskriv vad din kod gör
Skapa kort länk
Använd en kort URL för att skicka länk till koden via SMS eller epost. När mottagaren klickar på länken, så öppnas denna webbsida, med din kod och din text. Länken rensas bort automatiskt om den inte används.
Rubrik (frivilligt)
Beskrivning (frivilligt)
Länk (kopiera hela)
complex(x,y)
Skapar ett komplext tal givet realdelen i samt imaginärdelen j.
komplext tal
c= complex(5,4)
print(c)
c= complex(5,4)
print(c)
För att omvänt komma åt realdelen och imaginärdelen i det komplexa talet ...
För att räkna på växelströmskretsar med kondensatorer och spolar (induktorer) så kan vi representera komponenterna med komplexa tal (observera att du kan räkna om till/från reaktans med formlerna för reaktans XL=2πwL och XC=1/(2πwC).
Seriekoppling, vi summerar alla R.
Parallellkoppling, vi summerar inversen av resp. R och inverterar sedan denna summa.
import math
def serie(*resistanser):
res = 0
for r in resistanser:
res = res + r
return(res)
def parallell(*resistanser):
res = 0
for r in resistanser:
res = res + 1/r
return(1/res)
def R(r):
return complex(r,0)
def I(z):
return complex(0,z)
def C(z):
return complex(0,-z)
def arg(C):
alfa = math.atan(C.imag/C.real)
return(math.degrees(alfa))
def iround(C,d):
return(complex(round(C.real,d),round(C.imag,d)))
z = parallell(serie(R(5),I(3)),serie(R(4),C(2)))
print("z=",iround(z,2))
print("|z|=",str(round(abs(z),2)),
" arg=",str(round(arg(z),2)),"grader")
import math
def serie(*resistanser):
res = 0
for r in resistanser:
res = res + r
return(res)
def parallell(*resistanser):
res = 0
for r in resistanser:
res = res + 1/r
return(1/res)
def R(r):
return complex(r,0)
def I(z):
return complex(0,z)
def C(z):
return complex(0,-z)
def arg(C):
alfa = math.atan(C.imag/C.real)
return(math.degrees(alfa))
def iround(C,d):
return(complex(round(C.real,d),round(C.imag,d)))
z = parallell(serie(R(5),I(3)),serie(R(4),C(2)))
print("z=",iround(z,2))
print("|z|=",str(round(abs(z),2)),
" arg=",str(round(arg(z),2)),"grader")
Vi kan lägga till formlerna för reaktans direkt i koden, dvs XL=2πwL och XC=1/(2πwC), för respektive spole och kondensator och kan då ge dessa komponenters värden direkt i koden. Så i nedan schema är kondensatorn 636 µF och spolen är 9.6 mH. Uppgiften är då att beräkna strömmen (vars facit redan står i kretsschemat, då bilden kommer från krets-simulatorn)
import math
def serie(*resistanser):
res = 0
for r in resistanser:
res = res + r
return(res)
def parallell(*resistanser):
res = 0
for r in resistanser:
res = res + 1/r
return(1/res)
def R(r):
return complex(r,0)
def I(z):
return complex(0,z)
def XI(L,f):
return (I(2*math.pi*f*L))
def C(z):
return complex(0,-z)
def XC(F,f):
return (C(1/(2*math.pi*f*F)))
def arg(C):
alfa = math.atan(C.imag/C.real)
return(math.degrees(alfa))
def iround(C,d):
return(complex(round(C.real,d),round(C.imag,d)))
z1 = serie(R(4), XI(0.00955,50))
z2 = R(10)
z3 = serie(R(12),XC(0.000636,50))
zres = parallell(z1,z2,z3)
i = 240/zres
print("i=",iround(i,2))
print("|i|=",str(round(abs(i),2)),
" arg=",str(round(arg(i),2)),"grader")
import math
def serie(*resistanser):
res = 0
for r in resistanser:
res = res + r
return(res)
def parallell(*resistanser):
res = 0
for r in resistanser:
res = res + 1/r
return(1/res)
def R(r):
return complex(r,0)
def I(z):
return complex(0,z)
def XI(L,f):
return (I(2*math.pi*f*L))
def C(z):
return complex(0,-z)
def XC(F,f):
return (C(1/(2*math.pi*f*F)))
def arg(C):
alfa = math.atan(C.imag/C.real)
return(math.degrees(alfa))
def iround(C,d):
return(complex(round(C.real,d),round(C.imag,d)))
z1 = serie(R(4), XI(0.00955,50))
z2 = R(10)
z3 = serie(R(12),XC(0.000636,50))
zres = parallell(z1,z2,z3)
i = 240/zres
print("i=",iround(i,2))
print("|i|=",str(round(abs(i),2)),
" arg=",str(round(arg(i),2)),"grader")