background image

Politechnika Wrocławska

Wydział Elektryczny

Wojciech Calów

Rok studiów : III
Semestr : VI
Rok akad. : 2012/13

 Laboratorium Metod Numerycznych

Data: 

Temat : 

Metoda eliminacji Gaussa 

rozwiązywania układów równań 

liniowych.

Ocena: 

1. Program

% 1 Program do rozwiązywania układów liniowych wykorzystujący 
procedurę

clc; clear 

all

; close 

all

;

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

% podanie macierzy równan

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

% podanie wektora prawej strony

x=gauss(A,b)            

% obliczanie równań

blad=A*x-b              

% blad obliczen 

% 2 Obliczanie wyznacznika macierzy korzystaj¹c z macierzy 

trójkatnej otrzymanej po pierwszym etapie procedury eliminacji 
Gaussa.

%% Wyznaczanie wyznacznika 

clc; clear 

all

; close 

all

;

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

% wspolczynniki

n=size(A,1);        

% rozmiar

%% Macierz trojkatna 

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

;    

 

end

;

end

;

disp(

'Macierz trojkatna'

); disp(A);

%% Wyznacznik

wyznA=1;

for

 i=1:n

    wyznA=A(i,i)*wyznA; 

%obliczanie wyznacznika

end

;                 

disp(

'Nasz obliczony wyznacznik'

);

disp(wyznA);        

% wyœwietlenie wartoœci wyznacznika

blad=det(A)-wyznA;  

% sprawdzenie poprawnoœci wyniku

disp(

'Blad wyznacznika'

);

disp(blad);

background image

% 3 Macierz odwrotna

% niezbędny plik gauss.m w tym folderze

clc; clear 

all; 

close 

all

A=[5 -2 1 -1; 1 6 -2 3 ; 1 -3 4 -2 ; 2 1 -5 4 ];
b=[4; 3; 12; 10];

% liczenie odwrotna

n=size(A);

% Rozmiar macierzy

j=eye(n); 

%macierz jedynkowa

 

for

 i=1:1:n,

    odwrotnaA(:,i)= gauss(A,j(:,i));

% obliczanie macierzy odwrotnej 

end

;

z=inv(A)                  

% odwrotna policzona przez matlaba

odwrotnaA                 

% nasza macierz obliczona

blad_invA=z-odwrotnaA     

% sprawdzenie wyniku - blad

2. Wyniki

Ad1 

x =
    0.5663

   -2.7831
    5.9398

   10.3373

bl = 1.0e-014 *
         0

    0.3553
   -0.3553

   -0.3553

Ad 2 

Macierz trojkatna
    5.0000   -2.0000    1.0000   -1.0000
         0    6.4000   -2.2000    3.2000
         0         0    2.9063   -0.5000
         0         0         0    2.6774

Nasz obliczony wyznacznik
  249.0000

Blad wyznacznika
     0

Ad 3

z =
    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

blad_invA =
  1.0e-015 *
         0         0    0.0208    0.0061
         0    0.0278    0.0555         0
         0   -0.0278   -0.1110         0
         0   -0.0555   -0.1110         0

odwrotnaA =
    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