Eliminacja Gaussa z wyborem elementu gÄą Ä lwnego

Sprawozdanie Laboratorium Metod Numerycznych

Numeryczne zagadnienia algebry liniowej (Ćw.2)

Data oddania : 18.04.2013

Rafał Bonecki 171321

Konrad Mirecki 171382

Eliminacja Gaussa z wyborem elementu głównego

A=[1 1 1; 2 1 1; 1 -1 5]

b=[4; 5; 2]

n = length(b);

x = zeros(2, n);

for i=1:n

x(1, i) = i

end

mnoznik = 1;

for j=1:n

[elem, indeks] = max(A(j:n, j));

indeks = indeks + j -1;

A([j indeks],:) = A([indeks j],:)

b([j indeks]) = b([indeks j])

if j ~= indeks

mnoznik = mnoznik * -1;

end

[elem, indeks] = max(A(j, j:n));

indeks = indeks+j-1;

A(:,[j indeks]) = A(:,[indeks j])

x(:,[j indeks]) = x(:,[indeks j])

for i=j:n

if i == j

continue

end

w = A(i,j)/A(j,j);

A(i, 1:n) = A(i, 1:n)-w*A(j, 1:n)

b(i) = b(i) - w*b(j)

end

end

wspolna=[A b];

b(n) = b(n)/wspolna(n,n);

for i=n-1:-1:1

for j=i+1:n

b(i)=(b(i)-wspolna(i,j)*b(j))/wspolna(i,i);

end

end

x =

1 2 3

0 0 0

A =

2.0000 1.0000 1.0000

0 0.5000 0.5000

0 0 6.0000

b =

0.3333

2.3333

0.6667

Eliminacja Gaussa bez wyboru elementu

function [L, U] = bez(A)

b=size(A);

b=b(1);

U=A;

L=eye(size(A));

for a=1:(b-1)

for i=a:(b-1)

L(i+1,a)=U(i+1,a)/U(a,a);

U(i+1,:)=U(i+1,:)-U(i+1,a)/U(a,a)*U(a,:);

end

end

ans = 1.0000 0 0

1.1118 1.0000 0

0.1559 0.1170 1.0000

Funckje Tic Toc

1)Ślad macierzy

A=rand(2,2)

tic

sum(A)

x=toc

A =

0.6801 0.8884

0.6904 0.4139

ans =

1.3705 1.3023

x =

3.3958e-04

We wzorze zmieniamy rozmiar losowej macierzy na macierze 4x4. 8x8, 16x16, 32x32, 64x64. Podane czasy są w tej kolejności

x = 5.0681e-04

x= 6.7949e-04

x= 0.0012

x= 0.0014

x= 2.9530e-04

2)Iloczyn macierzy

B=rand(2,2)

A=rand(2,2)

tic

c=A*B

x=toc

B =

0.0295 0.7404

0.0755 0.8566

A =

0.3979 0.4124

0.8844 0.2417

c =

0.0429 0.6479

0.0444 0.8618

x =

5.2112e-05

Analogicznie jak wczesniej.

X= 6.8801e-05

X= 0.0431

X= 6.9959e-04

X= 0.0427

X= 0.0095

3)Iloczyn macierzy kwadratowej i wektora kolumnowego

B=rand(2,1)

A=rand(2,2)

tic

c=A*B

x=toc

B =

0.5564

0.7055

A =

0.2779 0.9239

0.1343 0.4205

c =

0.8064

0.3714

x =

3.9169e-05

Analogicznie.

X= 4.4959e-05

X= 4.0872e-05

X= 8.3447e-05

X= 1.3862e-04

X= 0.0125

4)Eliminacja Gaussa

A=rand(2,2)

b=rand(2,1)

tic

n = length(b);

x = zeros(2, n);

for i=1:n

x(1, i) = i

end

mnoznik = 1;

for j=1:n

[elem, indeks] = max(A(j:n, j));

indeks = indeks + j -1;

A([j indeks],:) = A([indeks j],:)

b([j indeks]) = b([indeks j])

if j ~= indeks

mnoznik = mnoznik * -1;

end

[elem, indeks] = max(A(j, j:n));

indeks = indeks+j-1;

A(:,[j indeks]) = A(:,[indeks j])

x(:,[j indeks]) = x(:,[indeks j])

for i=j:n

if i == j

continue

end

w = A(i,j)/A(j,j);

A(i, 1:n) = A(i, 1:n)-w*A(j, 1:n)

b(i) = b(i) - w*b(j)

end end

wspolna=[A b];

b(n) = b(n)/wspolna(n,n);

for i=n-1:-1:1

for j=i+1:n

b(i)=(b(i)-wspolna(i,j)*b(j))/wspolna(i,i);

end

end

z=toc

A

b

z= 4.2405e-04

Analogicznie

Z= 0.0012

Z= 0.0060

Z= 0.1316

Z= 2.2840

z= 26.7305

5)Rozkład L U

function [C]=rozklad(A)

A=rand(2,2)

tic

[w k]=size(A);

if w==k;

L=eye(w);

U=A;

for k1=1:k-1

for w1=k1+1:w

L(w1,k1)=(U(w1,k1)/U(k1,k1)); U(w1,:)=U(w1,:)-(U(w1,k1)/U(k1,k1))*U(k1,:);

end

end

C=[L U];

L

U

else

end

x=toc

x= 4.8433e-04

Analogicznie.

X= 1.7268e-04

X= 0.0010

X= 1.8052e-04

X= 1.8018e-04

x= 0.0032

6)Wyznacznik macierzy

A=rand(2,2)

tic

c=det(A)

x=toc

x= 0.0734

Analogicznie.

x =5.4836e-05

x= 8.9237e-05

x= 0.0632

x= 1.4339e-04
x= 0.0182

Wykres zależności czasu od rozmiaru macierzy dla konkretnych czynności.

Eliminacja Gaussa z wyborem elementu głównego jest zdecydowanie dokładniejsza od eliminacji bez wyboru.


Wyszukiwarka

Podobne podstrony:
4 eliminacja Gaussa
Metoda Eliminacji Gaussa i Gaussa Seidla
Eliminacja Gaussa
Metoda eliminacji Gaussa (1)
Metoda eliminacji Gaussa, Matematyka
mn eliminacja gaussa, Politechnika Śląska ZiIP i inne, Mechanika
algorytm eliminacji Gaussa
Metoda eliminacji Gaussa, mechanika i budowa maszyn, politechnika, polibuda, matma, matma
Metoda eliminacji Gaussa
metoda eliminacji gaussa 2GF64XPQWLQZUSPFSP4MGIKDIVYMP376M7JFZ7Q
Eliminacja Gaussa
ćw 07 Metoda eliminacji Gaussa
Metoda eliminacji gaussa

więcej podobnych podstron