1. Уважаемые участники и гости, 19 октября codeby будет работать в режиме "Только чтение". Регистрация новых участников будет закрыта. 20 октября портал продолжит работу в прежнем режиме.

Приведение матрицы к треугольному виду

Тема в разделе "Pascal and Delphi", создана пользователем NemoI3, 27 мар 2011.

Статус темы:
Закрыта.
  1. NemoI3

    NemoI3 Гость

    Репутация:
    0
    Задача:
    Есть матрица 3х3 и вектор свободных членов 3х1. Нужно привести получившуюся матрицу 3х4 к треугольному виду и построить из нее Единичную матрицу.
    Пробовал множество вариантов, но не выходит, где-то частично программа работает, но не полностью!
    Может кто-то уже сталкивался с этим и может помочь?

    Код:
    {Приведение к треугольному виду}
    
    var p,i,j,t:integer; q:real;
    
    procedure perest;
    var i,j:integer; r:real;
    begin
    
    i:=p+1;
    while (x[p,p]=0) and (i<=3) do
    begin
    for j:=1 to 3 do
    begin
    r:=x[i,j];
    x[i,j]:=x[p,j];
    x[p,j]:=r;
    end;
    r:=z[i];
    z[i]:=z[p];
    z[p]:=r;
    i:=i+1;
    end;
    end;
    
    
    begin
    for t:=1 to 60 do
    for p:=1 to 3 do
    begin
    if x[p,p]=0 then perest;
    
    for i:=p+1 to 3 do
    begin
    q:=x[i,p]/x[p,p];
    for j:=1 to 3 do
    x[i,j]:=x[i,j]-q*x[p,j];
    z[i]:=z[i]-q*z[p];
    end;
    end;
    end;
    
    {Единичная матрица}
    
    var p,i,j,t:integer; q:real;
    begin
    for p:=3 downto 2 do
    for i:=p-1 downto 1 do
    begin
    q:=x[i,p]/x[p,p];
    for j:=3 downto 1 do
    x[i,j]:=x[i,j]-q*x[p,j];
    z[i]:=z[i]-q*z[p];
    end;
    for i:=1 to 3 do
    begin
    z[i]:=z[i]/x[i,i];
    x[i,i]:=x[i,i]/x[i,i];
    end;
     
Загрузка...
Похожие Темы - Приведение матрицы треугольному
  1. Dantes95
    Ответов:
    0
    Просмотров:
    1.458
  2. kobrin13
    Ответов:
    0
    Просмотров:
    1.159
  3. FCDK
    Ответов:
    0
    Просмотров:
    1.389
  4. PahaStar
    Ответов:
    0
    Просмотров:
    1.180
  5. Evgesha777
    Ответов:
    1
    Просмотров:
    1.495
Статус темы:
Закрыта.

Поделиться этой страницей