Untitled
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