Untitled

 avatar
unknown
plain_text
5 months ago
2.6 kB
3
Indexable
A = [1 2 -1; 2 1 2; 6 10 -1];
display(A);
B = [1 2 -1 2; 2 1 2 3; 6 10 -1 5; 1 2 3 4];
display(B);
b1= [1; 0; -2];
b2= [2; 3; -2; 10];
%Wyznacznik macierzy
display('Wyznacznik macierzy 3-elementowej:');
display(det(A));
display('Wyznacznik macierzy 4-elementowej:');
display(det(B));
%------------------------------------
%metoda klasyczna
%dla macierzy 3-elementowej
A_i = inv(A);
X=(inv(A)) * (b1);
disp('Wynik metodą klasyczną dla macierzy 3-elementowej:');
display(X);

%dla macierzy 4-elementowej
B_i = inv(B);
T=(inv(B)) * (b2);
disp('Wynik metodą klasyczną dla macierzy 4-elementowej:');
display(T);

%----------------------------------
%metoda wprost
%Y = A \ b1;
%Z = B \ b2;
%disp('Rozwiązanie układu równań:');
%disp(Y);
%disp(Z);
%Metoda eliminacji Gaussa




%-----------------------------------
% Eliminacja Gaussa
%dla 3 elementów
% Łączenie A i b1 w jedną macierz augmentowaną
Ab1 = [A b1];
% Liczba równań
n = size(Ab1, 1);
for j = 1:n-1
    for i = j+1:n
        if Ab1(i,j) ~= 0  % Sprawdzenie, czy element jest różny od zera
            % Wykonanie eliminacji
            wspolczynnik = Ab1(i,j) / Ab1(j,j);
            Ab1(i,j:end) = Ab1(i,j:end) - wspolczynnik * Ab1(j,j:end);
        end
    end
end
disp('Macierz 3-elementowa po zastosowaniu metody eliminacji Gaussa:');
disp(Ab1);
% Inicjalizacja wektora rozwiązań
x = zeros(n, 1);

% Wyliczanie rozwiązań z macierzy trójkątnej
for i = n:-1:1
    x(i) = Ab1(i,end);
    for j = i+1:n
        x(i) = x(i) - Ab1(i,j) * x(j);
    end
    % Normalizacja
    x(i) = x(i) / Ab1(i,i);
    
end
disp('Wynik metodą eliminacji Gaussa dla macierzy 3-elementowej:');
disp(x);

%metoda eliminacji Gaussa dla macierzy 4-elementowej
% Łączenie B i b2 w jedną macierz augmentowaną
Bb2 = [B b2];
% Liczba równań
n = size(Bb2, 1);
for j = 1:n-1
    for i = j+1:n
        if Bb2(i,j) ~= 0  % Sprawdzenie, czy element jest różny od zera
            % Wykonanie eliminacji
            wspolczynnik = Bb2(i,j) / Bb2(j,j);
            Bb2(i,j:end) = Bb2(i,j:end) - wspolczynnik * Bb2(j,j:end);
        end
    end
end
disp('Macierz 3-elementowa po zastosowaniu metody eliminacji Gaussa:');
disp(Bb2);
% Inicjalizacja wektora rozwiązań
x = zeros(n, 1);

% Wyliczanie rozwiązań z macierzy trójkątnej
for i = n:-1:1
    x(i) = Bb2(i,end);
    for j = i+1:n
        x(i) = x(i) - Bb2(i,j) * x(j);
    end
    % Normalizacja
    x(i) = x(i) / Bb2(i,i);
    
end
disp('Wynik metodą eliminacji Gaussa dla macierzy 4-elementowej:');
disp(x);
Editor is loading...
Leave a Comment