Решение систем линейных уравнений методом итераций

Метод итераций Гаусса-Зейделя

 

Метод последовательных приближений или итераций для больших n даёт сокращение времени решения на 20-30% по сравнению с точными методами.

В методе итераций число действий пропорционально числу n2, тогда как в точных методах n3.

Метод итераций особенно выгоден при решении систем, в которых много коэффициентов равно нулю. Рассмотрим метод на примере 3-х уравнений с тремя неизвестными.

Дана система:

a11x1+a12x2+a13x3=b1 a21x1+a22x2+a23x3=b2 a31x1+a32x2+a33x3=b3
 

Для сходимости метода итераций диагональные элементы системы должны быть преобладающие, т.е.

|aii|>>|aij|

 

Если это условие не выполняется, то делают элементарные преобразования системы.

Например:

x1-6x2=4           (2) 3x1+x2+x3=-5 (1) 2x1-8x3=7        (3)

3x1+x2+x3=-5 x1-6x2=4 2x1-8x3=7

Из 1-го уравнения преобразованной системы найдём х1, из 2-го х2 из 3-го х3. Получим:


x1=(b1-a12x2-a13x3)/a11 x2=(b2-a21x1-a23x3)/a22 x3=(b3-a31x1-a32x2)/a33

Для удобства реализации алгоритма вычисляемое значение обозначим yi. Получим:

y1=(b1-a12x2-a13x3)/a11 y2=(b2-a21x1-a23x3)/a22 y3=(b3-a31x1-a32x2)/a33

Для нашего примера система примет вид:

y1=(-5-x2-x3)/3 y2=(4-x1)/(-6) y3=(7-2x1)/(-8)

В качестве начального приближения для х1;x2;x3, берётся 0 или 1. Подставляется в правую часть системы, получается новое значение xi, которое снова подставляется в правую часть и т.д. Пока разность между приближениями не станет меньше d).

 <=10-5

program lin;

var

b1,d,x1,x2,x3,x4,e,y1,y2,y3,y4:real;

begin

x1:=0; x2:=0; x3:=0; x4:=0; e:=1e-5;

repeat

y1:=(-9-x2+x4)/4;

y2:=(-y1+x3-3*x4)/2;

y3:=(-7-x1+3*y2)/4;

y4:=(2-3*x2+2*y3)/4;

d:=sqrt(sqr(x1-y1)+sqr(x2-y2)+sqr(x3-y3)+sqr(x4-y4));

x1:=y1; x2:=y2; x3:=y3; x4:=y4;

until d>E;

b1:=x1+2*x2-x3-3*x4;

writeln('x1= ',x1:8:5,' x2= ',x2:8:5,

'x3= ',x3:8:5,' x4= ',x4:8:5,' b1= ',b1:8:5);

x1=1; x2=1; x3=1; x4=1;    e=10-5
end.

 

 

 


Нет
ответы:

x1=y1; x2=y2; x3=y3; x4=y4
x1= -2.99999

x2= 4.00000

 

x3= 1.99999

b1=x1+2*x2-x3-3*x4
x4= -1.00000

b1= 0.000000

     
 
Да

 


Проверка в ППП "Eureka"

 

4*x1+x2-x4=-9

x1-3*x2+4*x3=-7

3*x2-2*x3+4*x4=12

x1+2*x2-x3-3*x4=0

 

Ответ:

Х1=-3.000000

Х2=4.000000

Х3=2.000000

X4=1.000000

 





Методы вычисления определённых интегралов

 

Если функция f(x) непрерывна на отрезке [a,b] и известна ее первообразная F(x), то определенный интеграл от этой функции в пределах от а до b может быть вычислен по формуле Ньютона-Лейбница

.

Как правило, выразить первообразную функцию удаётся не всегда, поэтому приходиться прибегать к приближённому интегрированию. Существует много численных методов: прямоугольников, трапеций, парабол или Симпсона и т.д.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: