• Nie Znaleziono Wyników

Laboratorium komputerowe 7

N/A
N/A
Protected

Academic year: 2021

Share "Laboratorium komputerowe 7"

Copied!
3
0
0

Pełen tekst

(1)

Lab 7 – metoda Gaussa-Jordana. Szkic M. Głowacki, L-10, PK

1

Laboratorium komputerowe 7

Rozwiązywanie układów równań – metoda Gaussa-Jordana

Celem ćwiczenia jest implementacja metody Gaussa-Jordana (w wersji uproszczonej) do rozwiązywania układów równań. W pierwszej części rozpatrywany jest szczególny przypadek – układ 4 równań, w drugiej należy przygotować ogólną funkcję, dla dowolnie dużego układu.

Dla uproszczenia pomijamy operacje zamiany wierszy miejscami. Spowoduje to utratę ogólności metody i w pewnych szczególnych przypadkach może wystąpić błąd dzielenia przez zero. Dodatkowo, zamiast wykonywania operacji w dwóch etapach (krok w przód, krok wstecz), będą wykonywane operacje dla całych kolumn. Chętni mogą oczywiście zapisać ogólny algorytm, z wyborem elementu głównego i z podziałem na dwa etapy.

Uwaga:

Należy przypomnieć sobie metodę Gaussa-Jordana (z kursu Matematyki lub z wykładów z Informatyki stosowanej).

1. Wprowadzenie.

Zastosować metodę Gaussa-Jordana do rozwiązania poniższego układu równań:

{

2𝑥 + 2𝑦 = 7 + 𝑧 − 𝑤 2𝑧 + 3𝑤 + 𝑦 = 3 + 𝑥 3𝑥 + 4𝑧 = 31 + 𝑦 + 𝑤 𝑥 + 4𝑦 − 2𝑧 + 2𝑤 = 2 Po uporządkowaniu otrzymujemy:

{

2𝑥 + 2𝑦 − 𝑧 + 𝑤 = 7

−𝑥 + 𝑦 + 2𝑧 + 3𝑤 = 3 3𝑥 − 𝑦 + 4𝑧 − 𝑤 = 31 𝑥 + 4𝑦 − 2𝑧 + 2𝑤 = 2 Zapisujemy w postaci macierzowej 𝐴𝑥 = 𝑏 :

[

2 2 −1 1

−1 1 2 3

3 −1 4 −1

1 4 −2 2

] [ 𝑥 𝑦 𝑧 𝑤

] = [ 7 3 31

2 ]

Wykonujemy operacje elementarne dla macierzy [𝐴 𝑏] tak, aby w miejscu macierzy 𝐴 uzyskać macierz jednostkową. W kolejnych krokach będziemy doprowadzali kolejne kolumny (od pierwszej do ostatniej) do postaci kolumn macierzy jednostkowej. Operacje będą wykonywane na wierszach macierzy. Najpierw wiersz, w którym występuje element przekątniowy, a następnie pozostałe wiersze.

(2)

Lab 7 – metoda Gaussa-Jordana. Szkic M. Głowacki, L-10, PK

2 [

2 2 −1 1

−1 1 2 3

3 −1 4 −1

1 4 −2 2

| 7 3 31

2 ]

1 2 𝑤1

→ [

1 1 −0.5 0.5

−1 1 2 3

3 −1 4 −1

1 4 −2 2

| 3.5

3 31

2 ]

𝑤2 − (−1) 𝑤1 𝑤3 − 3 𝑤1 𝑤4 − 1 𝑤1

[

1 1 −0.5 0.5

0 2 1.5 3.5

0 −4 5.5 −2.5 0 3 −1.5 1.5

| 3.5 6.5 20.5

−1.5 ]

1 2 𝑤2

→ [

1 1 −0.5 0.5 0 1 0.75 1.75 0 −4 5.5 −2.5 0 3 −1.5 1.5

| 3.5 3.25 20.5

−1.5 ]

𝑤1 − 1 𝑤2 𝑤3 − (−4) 𝑤2 𝑤4 − 3 𝑤2

[

1 0 −1.25 −1.25 0 1 0.75 1.75

0 0 8.5 4.5

0 0 −3.75 −3.75

| 0.25 3.25 33.5

−11.25

] → …

Przeprowadzić odręcznie dalsze obliczenia, kontynuując rozpoczęty schemat obliczeń.

2. Implementacja metody – szczególny przypadek dla układu 4 równań.

Utworzyć nowy skrypt i zapisać instrukcje języka Matlab wykonujące wszystkie operacje zapisane w punkcie 1.

Część skryptu została przedstawiona poniżej:

A = [2 2 -1 1; -1 1 2 3; 3 -1 4 -1; 1 4 -2 2];

b = [7; 3; 31; 2];

A = [A b];

% dla j=1

A(1,:) = 1/A(1,1) * A(1,:);

A(2,:) = A(2,:) – A(2,1) * A(1,:);

A(3,:) = A(3,:) – A(3,1) * A(1,:);

A(4,:) = A(4,:) – A(4,1) * A(1,:);

% dla j=2

% dla j=3

% dla j=4

x = A(:,end); % ostatnia kolumna macierzy disp(x);

Dokończyć skrypt zapisując brakujące instrukcje.

j = 1 j = 1

j = 2 j = 2

(3)

Lab 7 – metoda Gaussa-Jordana. Szkic M. Głowacki, L-10, PK

3

3. Implementacja metody – ogólny przypadek dla układu n równań.

Napisać funkcję, która będzie rozwiązywała dowolnie duży układ równań uproszczoną metodą Gaussa-Jordana (zgodnie z przyjętym w poprzednich punktach schematem).

Podpowiedź: skorzystać z dwóch zagnieżdżonych pętli for.

function x = metodagaussa(A,b) [n,m] = size(A);

A = [A b];

...

x = A(:,end);

end

Sprawdzić poprawność funkcji dla kilku różnych układów równań. W Command Window zdefiniować macierze współczynników i wektory prawej strony, a następnie wywołać dla nich przygotowaną funkcję.

A1 = [...];

b1 = [...];

metodagaussa(A1,b1)

4. Odwracanie macierzy

Zmodyfikować funkcję przygotowaną w punkcie 3, aby zamiast rozwiązywania układów równań wyznaczała macierz odwrotną do podanej macierzy.

Cytaty

Powiązane dokumenty

1. Wytnij odrysowane okna i drzwi. Złóż dwa kartony i pierwszym piętrem do mku kartonu i w podłodze drugie samej wielkości. Sklej oba kartony za po moc 5. Klejem na gorąco

3. Do pierwszej folii przyłóż folię innego koloru. wiadczenia Młodego Naukowca opracowana przez: KINGdom Magdalena Król. ą ce.. Karta pracy do e-Doświadczenia Młodego

nymi osobami, które prowadzą zajęcia.. Karta pracy do e-Doświadczenia Młodego Naukowca opracowana przez: KINGdom Magdalena Król. Klasa II Tydzień 21

Labora- toriów wykonujących badania genetyczne w zakresie onkologii jest w Polsce całkiem sporo, dlatego naj- istotniejsza jest kwestia jakości badań.. Właściwym miejscem

Dziś prywatne lecznice mają znacznie większe możliwości reklamowania swoich usług niż gabi- nety prywatne. Te pierwsze podlegają zapisanemu w ustawach prawu i nie muszą się

Podczas Europejskiego Kongresu Radiologicz- nego, który odby³ siê w Wiedniu, Siemens Medi- cal Solutions zaprezentowa³ nowy SOMATOM Emotion 16, rozszerzaj¹c w ten sposób

techniczne, potoczne i filozoficzne. Znaczenie techniczne związane m.in. z informatyką, definiuje obiekt symulowany, który nie istnieje realnie. Wirtualność potocznie

• W oknie Patient Selection kliknąć nazwisko, ikonę lub pole zaznaczania tych danych pacjenta, które mają zostać przekształcone na format BrainLAB.. • Kliknąć Next,