Sprawozdanie
Laboratorium metody numeryczne
ćw. 4
Metoda potencjałów węzłowych dla układów liniowych
Tomasz Piątkowski 153039
gr. 3A2
1. Dla układu z rysunku narysuj graf zorientowany, a następnie wyznacz następujące
macierze: incydencji A, admitancji Yb, wymuszeń prądowych J, wymuszeń
napięciowych E. Zapisz je w plikach tekstowych na dysku.
Graf:
Wyznaczenie macierzy
Skrypty z macierzami:
„macierzA.m”
A=[-1,-1,0,0,0,0,0,0;
0,1,1,1,0,0,0,0;
0,0,0,-1,-1,-1,0,0;
0,0,0,0,0,1,0,-1;
0,0,0,0,0,0,1,1;]
„ macierzE.m”
E=[5;2;0;0;0;1;0;2]
„macierzJ.m”
J=[0;2;-1;0;0.5;1;0;0]
„macierzYb.m”
Yb=[1,0,0,0,0,0,0,0;
0,0.05,0,0,0,0,0,0;
0,0.5,0,0,0,0,0,0;
0,0,0,0.005,0,0,0,0;
0,0,0,0,0.1,0,0,0;
0,0,0,0,0,0.5,0,0;
0,0,0,0,0,0,0.02,0;
0,0.4,0,0,0,0,0,0;]
2. Napisz skrypt funkcyjny obliczający z macierzy A, Yb i E macierz admitancji węzłowych
Yn, węzłowych wydajności prądowych Jn, oraz wektor potencjałów węzłowych un.
skrypt funkcyjny do obliczania macierzy Yn, Jn oraz un.
„obliczanie.m”:
function[Yn,Jn,un]=obliczanie(A1,Yb1,E1,J1)
Yn=A1*Yb1*(A1');
Jn=A1*(J1-Yb1*E1);
un=((Yn)^(-1))*Jn;
endfunction
działanie skryptu:
octave:37> [Yn,Jn,un]=obliczanie(A,Yb,E,J)
Yn =
1.05000 -0.05000 0.00000 0.00000 0.00000
-0.55000 0.55500 -0.00500 0.00000 0.00000
0.00000 -0.00500 0.60500 -0.50000 0.00000
0.40000 -0.40000 -0.50000 0.50000 0.00000
-0.40000 0.40000 0.00000 0.00000 0.02000
Jn =
3.10000
-0.10000
-1.00000
1.30000
-0.80000
un =
3.0906
2.9032
2.2812
4.7312
-36.2506
3. Napisz m-plik wyznaczający prądy i spadki napięć na wszystkich rezystorach w układzie
wykorzystując funkcję z punktu 2.
skrypt „napiprad.m”
disp("wartości oporników");
R1=1
R2=20
R3=200
R4=2
R5=10
R6=50
disp("napięcia na opornikach");
uR1=un(1)-E(1)
uR2=un(2)-E(2)-un(1)
uR3=un(3)-un(2)
uR4=un(4)-E(3)-un(3)
uR5=un(3)
uR6=un(5)
disp("prądy na opornikach")
iR1=uR1/R1
iR2=uR2/R2
iR3=uR3/R3
iR4=uR4/R4
iR5=uR5/R5
iR6=uR6/R6
działanie skryptu:
octave:38> napiprad
wartości oporników
R1 = 1
R2 = 20
R3 = 200
R4 = 2
R5 = 10
R6 = 50
napięcia na opornikach
uR1 = -1.9094
uR2 = -2.1875
uR3 = -0.62195
uR4 = 2.4500
uR5 = 2.2812
uR6 = -36.251
prądy na opornikach
iR1 = -1.9094
iR2 = -0.10937
iR3 = -0.0031097
iR4 = 1.2250
iR5 = 0.22812
iR6 = -0.72501
4. Zmieniając wartość źródła napięciowego E1 w zakresie od 0V do 5V co 100mV wykreśl
wartość mocy wydzielanej na rezystorze R3.
skrypt „moc.m”
R3=200;
x=0;
do
for y=1:1:51;
E(1)=x;
Yn=A*Yb*(A');
Jn=A*(J-Yb*E);
un=((Yn)^(-1))*Jn;
uR3=un(3)-un(2);
iR3=uR3/R3;
a(y)=iR3*uR3;
x=x+100e-3;
endfor
until(x>5);
b=[0:100e-3:5];
hold on
plot(b,a);
xlabel("E1[V]");
ylabel("Moc na R3[W]");
title("Wykres mocu na oporniku R3")
hold off
efekt działania skryptu „moc.m”
Wykonane ćwiczenie pokazuje, jak przydatnym narzędziem w obliczaniu układów może być Octave. Nieoceniona okazuje się możliwość dokonywania łatwych operacji na macierzach. Dzięki napisanym skryptom można bardzo szybko oraz precyzyjnie wyliczyć macierze admitancji węzłowych, wydajności prądowych oraz wektor potencjałów węzłowych. Za pomocą pętli można zmieniać wymuszenia układu, co pozwala zaobserwować wpływ wymuszenia na daną wielkość, w przypadku ćwiczenia na moc na oporniku.