Paweł Rabinek blog

Analiza elektrycznych obwodów liniowych metodą Tableau w środowisku MATLAB

Metoda Tableau jest bardzo wygodną metodą rozwiązywania liniowych obwodów elektrycznych. Tworząc odpowiednie macierze, w łatwy sposób można wyznaczyć wszystkie prądy i napięcia gałęziowe. W połączeniu ze środowiskiem obliczeniowym MATLAB, bardzo przyspiesza proces analizy obwodu.

Poniżej przedstawiono przykład analizy odwodu liniowego metodą Tableau. W przykładzie posłużono się następującym obwodem:

tableau

Ponieważ obwód zawiera 6 gałęzi oraz 3 węzły niezależne, należy stworzyć następującą macierz incydencji Af :

Af=[-1 1 0 0 0 -1; 1 0 1 -1 0 0; 0 -1 -1 0 -1 0];

Gdzie kolumny oznaczają kolejne prądy, a wiersze węzły. Jeżeli prąd wchodzi do węzła do macierzy dopisuje się -1, jeżeli wychodzi +1, jeżeli nie jest związany z węzłem 0.

Następnym krokiem jest stworzenie macierzy impedancji:

m = [R1 R2 R3 R4 0 1];
M = diag(m);

Dla źródła napięciowego podaje się impedancję 0, dla prądowego 1. Polecenie M=diag(m); tworzy macierz kwadratową M o wartościach na przekątnej zgodnie z wektorem m.

Następnie tworzy się macierz N:

n = [-1 -1 -1 -1 -1 0];
N = diag(n);

Zasada tworzenia wektora n jest następująca: dla gałęzi z równaniami napięciowymi wstawia się -1, a dla gałęzi z równaniami prądowymi wartość kondunktancji.

Macierz wymuszeń W:

W = [E1; 0; 0; 0; E2; J];

Następnie tworzy się macierz C:

C=[Af zeros(3,3); M N*Af'];

Gdzie zeros(x,y) tworzy macierz o rozmiarach x,y. Af’ oznacza transponowaną macierz Af.

Aby otrzymać wynik należy podzielić macierz C przez macierz wymuszeń:

wynik = C \ [zeros(3,1);W];

W rezultacie otrzymuje się :

I=wynik(1:6); % prady gałęziowe
Vw=wynik(7:9); % napiecia wezlowe
U=Af’*Vw; % napięcia gałęziowe

Aby wyświetlić wynik, można zastosować pętlę for, ponieważ znana jest ilość wyników:

for x=1:6
fprintf(’Wartosc pradu: I%i = %f A \n’,x,I(x))
fprintf(’Wartosc napiecia: U%i = %f V \n\n’,x,U(x))
end

Rezultat programu:

Wartosc pradu: I1 = -0.312500 A
Wartosc napiecia: U1 = -13.125000 V

Wartosc pradu: I2 = 0.687500 A
Wartosc napiecia: U2 = 13.750000 V

Wartosc pradu: I3 = 0.125000 A
Wartosc napiecia: U3 = 0.625000 V

Wartosc pradu: I4 = -0.187500 A
Wartosc napiecia: U4 = -5.625000 V

Wartosc pradu: I5 = -0.812500 A
Wartosc napiecia: U5 = -5.000000 V

Wartosc pradu: I6 = 1.000000 A
Wartosc napiecia: U6 = -18.750000 V

A oto pełne źródło programu:

clear all;

% Rozwiązanie układu za pomocą równania Tableau
% dane do obliczen
R1=10; R2=20; R3=5; R4=30;
E1=10; E2=5; J=1;

% jesli prad wchodzi do wezla to -1
% jesli wychodzi z wezla to 1
% I1 I2 I3 I4 I5 I6
Af=[-1 1 0 0 0 -1; %wezel 1
1 0 1 -1 0 0; %wezel 2
0 -1 -1 0 -1 0]; %wezel 3

% Rezystancje
m = [R1 R2 R3 R4 0 1];
M = diag(m);

% Wspolczynniki
n = [-1 -1 -1 -1 -1 0];
N = diag(n);

% Wymuszenia
W = [E1; 0; 0; 0; E2; J];

C=[Af zeros(3,3); M N*Af'];

D=[zeros(3,1);W];

wynik=C\D;

I=wynik(1:6); % prady
Vw=wynik(7:9); % napiecia wezlowe
U=Af’*Vw;

for x=1:6
fprintf(’Wartosc pradu: I%i = %f A \n’,x,I(x))
fprintf(’Wartosc napiecia: U%i = %f V \n\n’,x,U(x))
end

13.01.2006 | trackback | Śledź komentarze w tym wątku: RSS 2.0.

Kategorie: Matlab

Komentarze (14) do artykułu “Analiza elektrycznych obwodów liniowych metodą Tableau w środowisku MATLAB”

  • 1. Nati - 06.05.2006, 13:05:49

    fajnie… przyda się do mojej pracy mgr:)

  • 2. Nati - 15.05.2006, 10:05:56

    fajnie, fajnie, tylko nie wiem jak podzielić macierz przez macierz? czy można w ogóle dzielić macierze? z góry dziękuję za odp;)))

  • 3. xradar - 15.05.2006, 11:05:10

    Polecam skrypty do MATLABa z Akademii Morskiej w Gdyni. Bardzo wiele cennych informacji. Podstawy Matlaba są tutaj:
    http://www.am.gdynia.pl/~tomera/ts/matlab_lab.pdf

    Macierz A można podzielić przez macierz B tak:

    A./B

    lub mnożąc macierz A przez odwrotną B :-)

  • 4. henio - 05.11.2006, 20:11:34

    za przeproszeniem g*** a nie wytłumaczone :/
    o co chodzidzi z tym C=[Af zeros(3,3); M N*Af’]; ???
    czemu 3 na 3?

  • 5. xradar - 05.11.2006, 21:11:51

    Tworzenie macierzy C to jedna z podstawowych czynności w tej metodzie. Jak rozpiszesz sobie wszystkie elementy w tej macierzy, stwierdzisz ze w jej prawym-górnym rogu brakuje 9 elementów (kwadrat 3*3). W te puste miejsca po prostu wstawia się zera. Podobnie jest w linii: wynik = C \ [zeros(3,1);W];

  • 6. Lehoo - 19.04.2007, 13:04:46

    Sensownie jest nie używać stalych wartosci w sterowaniu programem. Ja bym to tak zrobil:

    clear all;
    % Rozwiązanie układu za pomocą równania Tableau
    % dane do obliczen
    R1=10; R2=20; R3=5; R4=30;
    E1=10; E2=5; J=1;
    Nw=3;Ng=6;% Liczba wezlow i liczba galezi
    % jesli prad wchodzi do wezla to -1
    % jesli wychodzi z wezla to 1
    % I1 I2 I3 I4 I5 I6
    Af=[-1 1 0 0 0 -1; %wezel 1
    1 0 1 -1 0 0; %wezel 2
    0 -1 -1 0 -1 0]; %wezel 3

    % Rezystancje
    m = [R1 R2 R3 R4 0 1];
    M = diag(m);

    % Wspolczynniki
    n = [-1 -1 -1 -1 -1 0];
    N = diag(n);

    % Wymuszenia
    W = [E1; 0; 0; 0; E2; J];
    C=[Af zeros(Nw,Nw); M N*Af’];
    D=[zeros(Nw,1);W];
    wynik=C\D;

    I=wynik(1:Ng); % prady
    Vw=wynik(Ng+1:Ng+Nw); % napiecia wezlowe
    U=Af’*Vw;

    W ten sposob nie trzeba interweniowac w tresc
    czesci programu rozwiazujacego zadanie
    a tylko tam, gdzie ustala sie dane.

    Pozdrawiam :-)

  • 7. tytus - 15.06.2007, 00:06:29

    ja mam pytanie…. a jak mamy w obwodzie nie tylko oporniki lecz także kondensatory i cewki to do macierzy M używamy wzorów na C i L tylko, czy jeszcze jakieś inny rzeczy trzeba zrobić??

  • 8. Paweł Rabinek - 16.06.2007, 15:06:47

    Stosujemy wtedy metodę symboliczną jeśli dobrze pamiętam, czyli reaktancje pojemnościową i reaktancję indukcyjną.

  • 9. hashi - 29.06.2007, 09:06:06

    Kiedy wel jest wezlem niezaleznym?

  • 10. Paweł Rabinek - 29.06.2007, 10:06:08

    [...]Gdzie kolumny oznaczają kolejne prądy, a wiersze węzły. Jeżeli prąd wchodzi do węzła do macierzy dopisuje się -1, jeżeli wychodzi +1, jeżeli nie jest związany z węzłem 0.[...]

  • 11. marek - 21.11.2007, 00:11:48

    Ja mimo wszystko liczylbym to z oczkowych:
    A=[35 5;5 35]
    B=[10-20;5]
    inv(A)*B
    a dalej z gorki.

  • 12. Jakub Dorsz - 21.11.2007, 14:11:44

    myślę, że ta metoda jest lepsza dla bardziej skomplikowanych układów, niż ten pokazany we wpisie i jej zalety właśnie tam można dostrzec. a co do metody prądów oczkowych, to korzystanie z niej dla dużych schematów mogłoby być uciążliwe, w przeciwnieństwie do tableau :)

  • 13. Paweł - 16.04.2008, 19:04:15

    Bardzo fajna metoda ;) mam jednak pare pytan, a mianowicie, co w przypadku gdy ten sam prad jednoczesnie wplywa i wyplywa z wezla? wstawic 0 – oznaczyc ze nie jest powiazany w wezlem?
    Jaka jest metodyka postepowania ze zrodlami sterowanymi? zrodla napieciowe sterowane takze oznaczamy 0, a pradowe sterowane 1 (macierz impedancyjna)?
    “dla gałęzi z równaniami napięciowymi wstawia się -1, a dla gałęzi z równaniami prądowymi wartość kondunktancji” kiedy galaz jest z rownaniami napieciowymi a kiedy pradowymi? co w sytuacji gdy na tej samej galezi znajduja sie zarowno zrodla pradu jak i napiecia oraz elementy reaktancyjne?

  • 14. cisq - 06.05.2008, 12:05:20

    dobra spoko..

    a jak mam uwzglednic spzezenie mag w podobnym ukladzie?/

    bo mam układ z 5-oma oczkami i dwa sa powiazane spzezeniem mag i nie wiem jak to opisac?

Skomentuj: