algorytmy 3

METODA JACOBIEGO

Metoda Jacobiego opiera się na przedstawieniu macierzy w postaci sumy trzech macierzy:

Program:

clear all;

N=6

A=[-4 1 0 0 0 0 ; 1 -4 1 0 0 0 ; 0 1 -4 1 0 0 ; 0 0 1 -4 1 0 ; 0 0 0 1 -4 1 ; 0 0 0 0 1 -4 ]

x=[1 2 3 4 5 6]'

b=A*x;

L=zeros(N);

U=zeros(N);

for i=1:N

D(i,i)=A(i,i);

end

D

for i=2:N

for j=1:i-1

L(i,j)=A(i,j);

end

end

L

for i=1:N-1

for j=i+1:N

U(i,j)=A(i,j);

end

end

U

x0=[5 6 2 7 9 5]';

eps=10^(-8);

while true

x1=-D^(-1)*(L+U)*x0+D^(-1)*b;

norm=0;

for i=1:N

norm=norm+(x1(i)-x0(i))^2;

end

norm=sqrt(norm);

if norm<eps

break

end

x0=x1;

end

x1

METODA ELIMINACJI GAUSSA

Metoda eliminacji Gaussa polega na przekształcaniu wyjściowego układu równań w równoważny układ o macierzy trójkątnej górnej.

Program:

function x = r_gauss (A,b)

n = length(b);

for k = 2:n

for i= k:n

if A(i,k-1) ~= 0

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

A(i,k-1:n) = A(k-1,k-1:n) - wsp*A(i,k-1:n);

b(i)=b(k-1)-wsp*b(i);

end

end

end

x(n)=b(n)/A(n,n);

for k=n-1:-1:1

x(k)=(b(k)-A(k,k+1:n)*(x(k+1:n))')/A(k,k);

end

x=x';

A=[2,3,4;5,8,6;2,3,5]

b=[1;5;1]

r_gauss (A,b)


Wyszukiwarka

Podobne podstrony:
Układy Napędowe oraz algorytmy sterowania w bioprotezach
5 Algorytmy
5 Algorytmy wyznaczania dyskretnej transformaty Fouriera (CPS)
Tętniak aorty brzusznej algorytm
Algorytmy rastrowe
Algorytmy genetyczne
Teorie algorytmow genetycznych prezentacja
Algorytmy tekstowe
Algorytmy i struktury danych Wykład 1 Reprezentacja informacji w komputerze
ALGORYTM EUKLIDESA
Algorytmy z przykladami tp 7 0
ALGORYT8
5 Algorytmy i schematy blokowe

więcej podobnych podstron