Z Algorytm Banachiewcza matlab


// Scilab

function b = Banachiewicz(rn)

// macierz rn = [A*A L] = [N L]

// metoda warunkowa L = w (w - wektor kolumnowy odchyłek)

// metoda parametryczna L = A'*p*l

// struktura algorytmu

// [ N L 1

// R L' inv(R)]

// wynik działania

// b = [ R L' inv(R)]

// N = R'*R;

// inv(N) = (invR)'*(invR)

[n,m] = size(rn); // wyznaczenie wymiaru macierzy rn

rn = [rn eye(n)]; // rozszerzenie macierzy rn o macierz jednostkową

[n,m] = size(rn); // wyznaczenie rozmiaru rozszerzonej macierzy Rn (n,m = m+n)

b = zeros(n,m); // rezerwacja pamięci na macierz wynikową - [R L' inv(R)]

// pierwszy wiersz

r1 = sqrt(rn(1,1)); // pierwiastek pierwszego elementu macierzy rn

b(1,1) = r1; // pierwszy diagonalny element macierzy pierwiastka R

b(1,2:m) = rn(1,2:m)/r1; // pierwszy wiersz macierzy pierwiastka R

for j=2:n

// element wiodący b(j,j)

s = b(1:j-1,j); // wektor elementów b znajdujących się nad elementem wiodącym b(j,j)

r1 = sqrt( rn(j,j) - sum(s.*s) ) ;

b(j,j) = r1;

// element poza przekątną b(j,k)

for k = j+1:m

r2 = (rn(j,k)-sum(s.*b(1:j-1,k)))/r1;

b(j,k) = r2;

end

end

endfunction

% Matlab

function b = Banachiewicz(rn)

% macierz rn = [A*A L] = [N L]

% metoda warunkowa L = w (w - wektor kolumnowy odchyłek)

% metoda parametryczna L = A'*p*l

% struktura algorytmu

% [ N L 1

% R L' inv(R)]

% wynik działania

% b = [ R L' inv(R)]

% N = R'*R;

% inv(N) = (invR)'*(invR)

[n,m] = size(rn); % wyznaczenie rozmiaru macierzy rn

rn = [rn eye(n)]; % rozszerzenie macierzy rn o macierz jednostkową

[n,m] = size(rn); % wyznaczenie rozmiaru rozszerzonej macierzy Rn (n,m = m+n)

b = zeros(n,m); % rezerwacja pamięci na macierz wynikową - [R L' inv(R)]

% pierwszy wiersz

r1 = sqrt(rn(1,1)); % pierwiastek pierwszego elementu macierzy rn

b(1,1) = r1; % pierwszy diagonalny element macierzy pierwiastka R

b(1,2:m) = rn(1,2:m)/r1; % pierwszy wiersz macierzy pierwiastka R

for j=2:n

% element wiodący b(j,j)

s = b(1:j-1,j); % wektor elementów b znajdujących się nad elementem wiodącym b(j,j)

r1 = sqrt( rn(j,j) - sum(s.*s) ) ;

b(j,j) = r1;

% element poza przekątną b(j,k)

for k = j+1:m

r2 = (rn(j,k)-sum(s.*b(1:j-1,k)))/r1;

b(j,k) = r2;

end

end

A\B is the matrix division of A into B, which is roughly the same as INV(A)*B , except it is computed in a different way. If A is an N-by-N matrix and B is a column vector with N components, or a matrix with several such columns, then X = A\B is the solution to the equation A*X = B computed by Gaussian elimination. A warning message is printed is badly scaled or nearly singular. A\EYE(SIZE(A)) produces the inverse of A. If A is an M-by-N matrix with M < or > N and B is a column vector with M components, or a matrix with several such columns, then X = A\B is the solution in the least squares sense to the under - or overdetermined system of equations A*X = B. The effective rank, K, of A is determined from the QR decomposition with pivoting. A solution X is computed which has at most K nonzero components per column. If K < N this will usually not be the same solution as PINV(A)*B. A\EYE(SIZE(A)) produces a generalized inverse of A.



Wyszukiwarka

Podobne podstrony:
algorytm banachewicza
Algorytm Banachiewcza, Geodezja i Kartografia, Rachunek Wyrównawczy
Układy Napędowe oraz algorytmy sterowania w bioprotezach
Matlab cw1 2 zaoczni
5 Algorytmy
5 Algorytmy wyznaczania dyskretnej transformaty Fouriera (CPS)
cz 1, Matlab moj
Image Processing with Matlab 33
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

więcej podobnych podstron