Решение системы линейных алгебраических уравнений методом гаусса (метод исключений).

Представим исходную систему линейных алгебраическихуравнений (СЛАУ) в виде

(3.1)

Делим первое уравнение системы (3.1) на . В результате получим уравнение

, (3.2)

где .

Из второго уравнения системы (3.1) вычитаем уравнение (3.2), умноженное на , а из третьего уравнения системы (3.1) – уравнение (3.2), умноженное на . Получаем систему

(3.3)

где .

Делим первое уравнение системы (3.3) на . В результате получим уравнение

, (3.4)

где .

Умножая уравнение (3.4) на и вычитая его из второго уравнения системы (3.3), получаем

, (3.5)

где .

Наконец, разделив уравнение (3.5) на , получим

. (3.6)

Используя уравнения (3.4) и (3.2), находим последовательно
и .

Типовой вариант

Функция задана таблично:

-3 -1
2,9 1,0 -0,2 -1,5 -0,4 0,5 2,0

Реализация типового варианта

1. Расчет в среде программирования Delphi.

1.1. Создайте проект консольного приложения MNK.

1.2. Создайте текстовый файл исходных данных (File | New | Other) и сохраните его под именем MNK.txt (File | Save As…). Внесите в добавленный файл такие данные (рис. 3.1): MM = 2 – предельное значение степени аппроксимирующего полинома (m = 1, 2); N = 6 – количество точек табличной функции, учитывая что индексация точек начинается с 0 (I = 0, … , N); пары координат (Xi, Yi) точек табличной функции.

Рис. 3.1

1.3. Отредактируйте главную функцию.

program MNK;

{$APPTYPE CONSOLE}

uses

SysUtils,Math;

Type

mat=array of array of real;

vec=array of real;

Var

N:integer;// количество точек табличной функции (I = 0…N)

m:integer;// степень аппроксимирующего полинома Pm(x)

MM:integer;// предельная степень полинома (количество полиномов)

i,j:integer;// счетчики

X,Y:vec;// таблица данных X(N),Y(N)

C:vec;// массив коэффициентов аппроксимирующего полинома Pm(x)

A:mat;// матрица коэффициентов системы уравнений

fo:text;// файловая переменная

//—— процедура чтения табличной функции ——

procedure tab(var MM,N:integer;var X,Y:vec);

Var

i:integer;

fi:text;// файловая переменная

Begin

AssignFile(fi,’MNK.txt’);// связывание файловой переменной

Reset(fi);// направление обмена данными – чтение

ReadLn(fi,MM,N);// чтение количества полиномов и

SetLength(X,N+1);// количества точек функции

SetLength(Y,N+1);

for i:=0 to N do// таблица данных X(N),Y(N)

ReadLn(fi,X[i],Y[i]);

CloseFile(fi);// закрытие файла

end;

Метод Гаусса решения линейных уравнений

Похожие статьи:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector