gauss sprawko, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne


0x01 graphic

POLITECHNIKA

WROCŁAWSKA


Łukasz Kopeć

177127

Wydział: Elektryczny

Termin:

Wtorek

Godz. 1315-1445

Data ćw:

21.02.2012

Prowadzący:

Dr inż. Piotr Pierz

Laboratorium - metody numeryczne

SPRAWOZDANIE NR 1

TEMAT: Metoda eliminacji Gaussa rozwiązywania układu równań liniowych

Ocena:

  1. Cel ćwiczenia.

Wykorzystanie metody eliminacji Gaussa w środowisku Matlab do rozwiązywania układów równań liniowych

  1. Przebieg ćwiczenia.

  1. rozwiązanie układu równań liniowych

clear all;

clc;

% Przykladowa macierz:

A=[5,-2,1,-1;1,6,-2,3;1,-3,4,0;2,1,-5,4];

% wektor prawej strony

B=[4;3;12;10];

disp('Macierz wspolczynnikow:'); A,

disp('Wektor prawej strony:'); B,

% Rozmiar macierzy

n=size(A,1);

% I krok: eliminacja zmiennych

for i=2:n, % zacznij od drugiego wiersza

for k=i:n, % w każdym przejściu zmień wszystkie wiers

% zaczynając od wiersza i-tego

p=A(k,i-1)/A(i-1,i-1); % współczynnik skalujący

for l=1:n, % odejmij wiersze od siebie

if l<i,

A(k,l)=0;

else

A(k,l)=A(k,l)-A(i-1,l)*p;

end;

end;

B(k)=B(k)-B(i-1)*p; % odejmij wiersze wektora prawej strony

end;

end;

% II krok: odwrotne podstawianie

for i=n:-1:1,

p=0;

for k=(i+1):n,

p=p+A(i,k)*X(k);

end;

X(i,1)=(B(i)-p)/A(i,i);

end;

disp('Rozwiązanie:'); X,

% Sprawdzenie

disp('Błąd rozwiązania:');

E=A*X-B,

Wyniki:

Macierz wspolczynnikow

Wektor prawej strony

Rozwiązanie

Błąd rozwiązania

A =

5 -2 1 -1

1 6 -2 3

1 -3 4 0

2 1 -5 4

B =

4

3

12

10

X =

0.8270

-1.3676

1.7676

4.6378

E =

1.0e-015 *

0

-0.8882

0

0

b) obliczanie wyznacznika macierzy

clear all

clc

A=[5 -2 1 -1;1 6 -2 3;1 -3 4 0; 2 1 -5 4],

B=[4;3;12;10],

n=size(A,1);

detA=1;

detA2=det(A);

A2=A;

%utworzenie macierzy trójkątnej z macierzy A

for i=2:n,

for k=i:n,

p=A(k,i-1)/A(i-1,i-1);

for l=1:n,

if l<i,

A(k,l)=0;

else

A(k,l)=A(k,l)-A(i-1,l)*p;

end;

end;

B(k)=B(k)-B(i-1)*p;

end;

end;

disp('Macierz trójkątna:'); A,

%obliczanie wyznacznika macierzy trójkątnej

for i=1:n,

detA=detA*A(i,i);

end

disp('Wyznacznik macierzy A:'); detA,

disp('Błąd metody:'); d=detA-detA2,

Wyniki:

Macierz trójkątna

Wyznacznik macierzy A

Błąd metody

A =

5.0000 -2.0000 1.0000 -1.0000

0 6.4000 -2.2000 3.2000

0 0 2.9063 1.5000

0 0 0 5.9677

detA =

555.0000

Błąd metody:

d =

0

c) odwracanie macierzy kwadratowej

n=size(A,1);

B=eye(n);

for k=1:n

b=B(:,k);

x=gauss(A,b);

A1(:,k)=x;

end

disp('wartość');A1

%porównanie z procedurą MATLABA inv(A)

C=inv(A)

Macierz A1

Odwrócona macierz A1

inv(A)

A1 =

0.1968 0.1968 0.1968 0.1968

0.0683 0.0683 0.0683 0.0683

-0.1486 -0.1486 -0.1486 -0.1486

-0.3012 -0.3012 -0.3012 -0.3012

A1 =

0.1968 0.0522 -0.0281 -0.0040

0.0683 0.1406 -0.1526 -0.1647

-0.1486 0.1647 0.4498 0.0643

-0.3012 0.1446 0.6145 0.3735

C =

0.1968 0.0522 -0.0281 -0.0040

0.0683 0.1406 -0.1526 -0.1647

-0.1486 0.1647 0.4498 0.0643

-0.3012 0.1446 0.6145 0.3735

Wnioski:

Przeprowadzone ćwiczenia miały na celu rozwiązanie układu równań liniowych metodą eliminacji Gaussa. W pierwszym punkcie zadeklarowałem przykładowe macierze- macierz A ze współczynników układu równań oraz macierz B jako wektor prawej strony układu. Wykorzystałem plik „EL_GAUSA.m” , w którym dzięki pętli for i odpowiedniej modyfikacji otrzymałem rozwiązanie układu oraz jego błąd.

W punkcie drugim skorzystałem z pętli for z pierwszego etapu do utworzenia macierzy trójkątnej i opracowanie procedury do obliczania wyznacznika macierzy. Widać, że metoda ta nie wykazała błędu rozwiązania.W ostatnim punkcie opracowałem program do odwracania macierzy kwadratowej. Porównując wynik do procedury Matlaba inv(A) nie widać różnicy. Jest ona na tyle mała, że liczby różnią się kilka miejsc po przecinku.



Wyszukiwarka

Podobne podstrony:
metody sprawko2, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
metody sprawko4, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
metody sprawko3, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
Metoda RK sprawko, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
sprawko 3, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne, SPRAWKA, projekt, 3
Metody sprawko calka, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
sprawko 7 calkowanie, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
SPRAWKO Aitken, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
sprawko 2 moje, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne, lab 2 seidel
SPRAWKO Metoda Najmniejszych Kwadratów- SVD, Automatyka i robotyka air pwr, VI SEMESTR, Metody numer
Metody numeryczne 8, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
Sprawozdanie równanie różniczkowe, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
metody numeryczne 10 Różniczkowanie, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
Metoda Newtona-Raphsona, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
kolokwium zadania, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
sprawko1teoriaMAcka, Automatyka i robotyka air pwr, VI SEMESTR, Notatki.. z ASE, teoria automatow
analogowe sprawko cw B, Automatyka i robotyka air pwr, VI SEMESTR, Analogowe i cyfr. syst. pom
sprawko cw3, Automatyka i robotyka air pwr, VI SEMESTR, Notatki.. z ASE, teoria automatow
sprawko 2 izy, Automatyka i robotyka air pwr, VI SEMESTR, Notatki.. z ASE, metody numeryczne, lab 2

więcej podobnych podstron