Advertisement
Guest User

ВМЛА лаб1 на дом оставленное

a guest
Sep 17th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 0.95 KB | None | 0 0
  1. function X = gauss_simple(A,B)
  2.   #Проверка на совпадение размерности
  3.   if (rows(B)!=rows(A) || columns(B)!=1 || rows(A)!=columns(A))
  4.     disp("\nWrong input\n");
  5.   else
  6.    Ag = [A B]; #делаем расширенную матрицу
  7.    n = rows(Ag);
  8.    m = columns(Ag);
  9.    #приведем к треугольному виду:
  10.    for k = 2:n
  11.     for i = k:n
  12.       temp = Ag(i,k-1);
  13.       for j = 1:m
  14.         Ag(i,j)=Ag(i,j)-Ag(k-1,j)*temp/Ag(k-1,k-1);
  15.       endfor
  16.      endfor
  17.    endfor
  18.    #раскручиваем матрицу:
  19.    X = zeros(n,1);
  20.    for i = 1:n
  21.      X(n-i+1)=Ag(n-i+1,m);#записали самую праву строчку (идем снизу вверх)
  22.      for j = m-i+1:m-1 #идем по одной строчке, вычитая слева направо
  23.        X(n-i+1)=X(n-i+1)-Ag(n-i+1,j)*X(j);
  24.      endfor
  25.      X(n-i+1)=X(n-i+1)/Ag(n-i+1,m-i);
  26.    endfor
  27.   endif
  28. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement