ВУЗы и колледжи

помогите, Решение системы линейных уравнений методом Гаусса Х+2y+4z=31 5x+Y+2z=29 3x-Y+z=10

Procedure Gauss1(Matr:MatrType; N:Integer; var X,Nev:VectorType);
var k,m,p,i:integer;
d:MatrType;
s:real;

Begin
(*
Входные параметры:
Matr:MatrType - матрица [NxN+1], состоящая из коэффициентов СЛАУ,
последий столбец ([i,N+1]) - правая часть
i-го уравнения;
N:Integer - размерность матрицы Matr.
Выходные параметры, возвращаемые процедурой:
X:VectorType - массив [1..N] решений системы (X1..XN);
Nev:VectorType - массив [1..N] невязок системы; *)
for k:=1 to N-1 do
for m:=k+1 to N do
begin
d[m,k]:=Matr[m,k]/Matr[k,k]; Matr[m,k]:=0;
for p:=k+1 to N do
Matr[m,p]:=Matr[m,p]-d[m,k]*Matr[k,p];
Matr[m,N+1]:=Matr[m,N+1]-d[m,k]*Matr[k,N+1];
end;
x[N]:=Matr[N,N+1]/Matr[N,N];
for i:=N-1 downto 1 do
begin
for p:=i+1 to N do
s:=s+Matr[i,p]*x[p];
x:=(Matr[i,N+1]-s)/Matr[i,i];
s:=0;
end;

for k:=1 to N do
begin
for p:=1 to N do
Nev[k]:=Nev[k]+Matr[k,p]*x[p];
Nev[k]:=Nev[k]-Matr[k,N+1];
end;

End;
Guzelya Migranova
Guzelya Migranova
4 184
Лучший ответ
Метод Гаусса заключается в последовательном исключении неизвестных. Из одного уравнения выражается одна неизвестная и подставляется в оставшиеся два уравнения. Тем самым получаем два уравнения с двуми неизвестными. Из одного получившегося уравнения выражается вторая неизвестная и подставляется в третье уравнение. Ну а дальше идем обратным путем. Рассмотрим ваш пример.
1. Из первого уравнения выразим x.
x=31-2y-4z
2.Подставим это значение во второе и третье уравнение. Получаем ситему
5(31-2y-4z)+y+2z=29
3(31-2y-4z)-y+z=10
Раскрываем скобки, вычисляем и получаем систему такого вида
9y+18z=126
7y+11z=83
3. Теперь выразим из первого уравнения y
y=(126-18z)/9
4. Подставим это значение в третье уравнение. Получаем:
7*((126-18z)/9) +11z=83
Приводим к общему знаменателю, вычисляем и получаем
27z=135
z=5
ну а дальше подставляй в обратном порядке. Метод долгий и нудный, но сам просил... .
1 2 4 31
5 1 2 29
3 -1 1 10

это ж долго! почитай про матрицы и вычисление определителя! можно посчитать здесь - www!webmath!ru вместо ! -точки

Похожие вопросы