GAuss

  1. Eliminacja Gaussa

  1. Z wyborem elementu głównego

A=input( ' Podaj macierz: ')

a=size(A,1);

b=size(A,2);

[C,I]=max(A);

if a==b

disp('Macierz ma poprawne wymiary')

else

disp ('Macierz musi być kwadratowa')

end

for i=1:a,

c=A(i,i);

if c==0,

z=I(i);

D=A(i,:);

A(i,:)=A(z,:)

A(z,:)=D

else

end

end

A

for i=1:a,

c=A(i,:)/A(i,i)

for j=i+1:a,

A(j,:)=c*A(j,i)-A(j,:)

end

end

  1. Bez wyboru elementu głównego

A=input( ' Podaj macierz: ')

a=size(A,1);

b=size(A,2);

X=A;

Z=tril(A); % Z - macierz L

X=A; % X - macierz U

d=diag(A);

e=min(d);

if e==0

disp('Macierz nie moze miec 0 na glownej przekatnej')

break

else

if a==b

disp('Macierz ma poprawne wymiary')

else

disp ('Macierz musi być kwadratowa')

end

for i=1:a,

Z(:,i)=Z(:,i)/Z(i,i)

end

for i=2:a,

for j=i:a,

p=0;

for k = 1:i-1;

X(i,k) = 0

p = p + Z(i,k)*X(k,j);

end

X(i,j) = X(i,j) - p

end

end

end

Z

  1. Zależność czasu od rozmiaru macierzy

function [iloczyn,wyznacznik,slad,LU]=czas(N)

A=tstcnd(N)

B=tstcnd(N)

tic

for i=1:100

end

toc

p=toc

tic

for i=1:100

C=A*B

end

toc

a=toc

iloczyn=a/100-p;

tic

for i=1:100

det(A)

end

b=toc

wyznacznik=b/100-p;

tic

for i=1:100

trace(A)

end

toc

c=toc

slad=c/100-p;

tic

for i=1:100

lu(A)

end

toc

d=toc

LU=d/100-p;

disp(iloczyn)

disp(wyznacznik)

disp(slad)

disp(LU)

Wielkość macierzy Wyznacznik Ślad Iloczyn LU
2 8.7980e-005 1.0470e-004 2.3030e-005 1.0910e-004
4 2.5573e-005 1.9276e-005 8.3811e-005 2.4059e-004
8 1.6075e-004 8.4109e-005 0.0020 2.4363e-004
16 4.8006e-005 2.1959e-005 7.8761e-004 7.6916e-004
32 5.3571e-005 2.1010e-005 0.0039 0.0039
  1. Wpływ zmiany uwarunkowania na zmianę macierzy A.

Dla macierzy dobrze uwarunkowanej

Zaburzenie Wartość przy zmianie jednego elementu Wartość przy zmianie wszystkich elementów
0,1 -93.5234 -99.8099
0,01 -98.9985 -99.6445
0,001 -99.9608 -99.8543

function [roz_1,roz_all]=uwarunkowanie(C)

[A,b,x]=tstmat(16);

D=A;

F=rcond(D);

D(1,1)=D(1,1)*(1+C);

R=rcond(D)

roz_1=(R-F/R)*100;

N=A*(1+C);

Y=rcond(N);

roz_all=(Y-F/F)*100;

Dla macierzy źle uwarunkowanej

Zaburzenie Wartość przy zmianie jednego elementu Wartość przy zmianie wszystkich elementów
0,1 -45.8191 -100.0000
0,01 -13.6609 -100.0000
0,001 -32.6603 -100.0000

function [roz_1,roz_all]=uwarunkowanie(C)

[A,b,x]=tstcnd(16);

D=A;

F=rcond(D);

D(1,1)=D(1,1)*(1+C);

R=rcond(D)

roz_1=(R-F/R)*100;

N=A*(1+C);

Y=rcond(N);

roz_all=(Y-F/F)*100;

eliminacja Gaussa z czesciowym wyborem elementu jest dokladniejsza od eliminacji Gaussa bez wyboru elementu głównego.


Wyszukiwarka

Podobne podstrony:
Cw 06 Gauss Seidel
02 prez Gauss
formularz obliczenia pól Gauss, Geodezja i Kartografia
Metoda Gauss'a
Cw 12 Gauss Seidel
Least squares estimation from Gauss to Kalman H W Sorenson
Laboratorium Fizyki Współczesnej II gauss, Przyroda UG, Laboratorium fizyka współczesna II
gauss sprawko, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
kw003 gauss
Gauss Kruger redukcje
gauss druk
All the Way with Gauss Bonnet and the Sociology of Mathematics
Gauss Kruger wspolrzedne
gauss
gauss Kruger asg, Geodezja, Geodezja Wyzsza, Materialy
Gauss, 1 STUDIA - Informatyka Politechnika Koszalińska, muniol, II rok, 3sem, Metody numeryczne, 2 k
GAUSS
gauss druk
lecture2 uklady liniowych gauss

więcej podobnych podstron