Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Метод Гаусса. (http://www.tehnari.ru/f41/t35421/)

sunbrigt 25.04.2010 07:16

Метод Гаусса.
 
Помогите! Решение систем с двухдиагональной матрицей по Гауссу.

Vladimir_S 25.04.2010 09:52

Цитата:

Сообщение от sunbrigt (Сообщение 326708)
Помогите! Решение систем с двухдиагональной матрицей по Гауссу.

С двухдиагональной? И всего-то? Ну ладно. Будем считать отличными от нуля ВСЕ элементы главной диагонали и (хотя бы некоторые) элементы верхней прилегающей диагонали. Обозначения: N - порядок матрицы коэффициентов, {A} - матрица коэффициентов, {X} - вектор искомых неизвестных, {C}- вектор свободных членов.
Код:

CONST
 N=5;
VAR
 A:Array[1..N,1..N] of REAL;
 X,C:Array[1..N] of REAL;
 i,j:Integer;
BEGIN
 For i:=1 to N do
  For j:=1 to N do
  A[i,j]:=0;
 For i:=1 to N-1 do
  For j:=i to i+1 do
    begin
    Write('A[',i,',',j,']= ');
    ReadLn(A[i,j]);
    end;
 Write('A[',N,',',N,']= ');
 ReadLn(A[N,N]);
 WriteLn;
 For i:=1 to N do
  begin
  Write('C[',i,']= ');
  ReadLn(C[i]);
  end;
 WriteLn;

 X[N]:=C[N]/A[N,N];
 For i:=N-1 downto 1 do
  X[i]:=(C[i]-A[i,i+1]*X[i+1])/A[i,i];

 For i:=1 to N do
  WriteLn('X[',i,']= ',X[i]);

 ReadLn;
END.

Здесь язык - Паскаль. Надеюсь, что устроит. Жаль, однако, что Вы не снизошли до указания требуемого языка.

sunbrigt 26.04.2010 09:54

Спасибо, язык как раз паскаль и нужен был. Но почему то при нахождении вектора невязки нули не получаются.

Vladimir_S 26.04.2010 10:05

Цитата:

Сообщение от sunbrigt (Сообщение 327083)
Спасибо, язык как раз паскаль и нужен был. Но почему то при нахождении вектора невязки нули не получаются.

Так... Ну тогда, похоже, мы друг друга не поняли. Я-то считал, что метод Гаусса - это просто приведение матрицы к треугольному виду (для двухдиагональной не требуется) и затем последовательное нахождение Xi, начиная с нижнего правого угла. Но, судя по "вектору невязки", Вам нужны итерационные процедуры. Тут, увы, сходу не смогу. Будет время - разберусь. Но не сразу.


Часовой пояс GMT +4, время: 09:32.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.