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

Предполагая, что aii ≠ 0 разрешим новое уравнение системы (1) относительно x1, второе – относительно x2,…, n-ое уравнение – относительно xn. В результате получим:

x1 = β1 - α12x2 - α13x3 - ... - α1nxn

x2 = β2 - α21x1 - α23x3 - ... - α2nxn

xn = βn - αn1xn - αn3x3 - ... - αnn-1xn-1

где βi = bi/aii; αij = aij/aii при i ≠ j; αii = 0

Известно начальное приближение: x0 = (x01, x02, ..., x0n).

Основная идея заключается в том, что при вычислении (k+1)-го приближения неизвестной xi учитываются уже вычисленные ранее (k+1) - приближение неизвестных x1, x2, ..., xn.

Итерационная схема имеет вид:

xk+11 = β1 - ∑α1jxkj

xk+12 = β2 - α21xk+11 - ∑α2jxkj

xk+1i = βi - ∑αijxk+11 - ∑α2jxkj

Приведем к виду:

x1 = 0.14+0.08x2+0.296x3

x2 = 0.4815+0.1852x1+0.3287x3

x3 = -0.3506-0.6118x1-0.2935x2

Покажем вычисления на примере нескольких итераций.

N = 1

x1 = 0.14 - 0 • 0.08 - 0 • 0.296 = 0.14

x2 = 0.4815 - 0.14 • 0.1852 - 0 • 0.3287 = 0.4556

x3 = -0.3506 - 0.14 • (-0.6118) - 0.4556 • (-0.2935) = -0.1312

N = 2

x1 = 0.14 - 0.4556 • 0.08 - (-0.1312) • 0.296 = 0.1424

x2 = 0.4815 - 0.1424 • 0.1852 - (-0.1312) • 0.3287 = 0.4982

x3 = -0.3506 - 0.1424 • (-0.6118) - 0.4982 • (-0.2935) = -0.1172

N = 3

x1 = 0.14 - 0.4982 • 0.08 - (-0.1172) • 0.296 = 0.1348

x2 = 0.4815 - 0.1348 • 0.1852 - (-0.1172) • 0.3287 = 0.495

x3 = -0.3506 - 0.1348 • (-0.6118) - 0.495 • (-0.2935) = -0.1228

Остальные расчеты сведем в таблицу.

N x1 x2 x3 e1 e2 e3
0.14 0.456 -0.131 0.14 0.456 0.131
0.142 0.498 -0.117 0.0024 0.0427 -0.014
0.135 0.495 -0.123 -0.0076 -0.0032 0.0056
0.137 0.497 -0.121 0.0019 0.0015 -0.0016
0.136 0.496 -0.122 -0.0006 -0.0004 0.0005

Таким образом, мы получаем систему:

Решение системы уравнений методом Зейделя - student2.ru

Подставим полученные значения С в уравнение

Ѱ(Xi)=C­* Ѱ­(X)+C­* Ѱ­­(X)+ C* Ѱ­3­­­(X)

Ѱ(X1)=-0,0886-0,403+0,535=0,321

Ѱ(X2)=0,313

Ѱ(X3)=0,335

Ѱ(X4)=-0,037

Ѱ(X5)=-0,030

Подставим значения Ѱ(Xi) в уравнение Ϭ=y(Xi)- Ѱ(Xi) и найдем максимальное отклонение (значение аппроксимации)

Ϭ1=-0,62

Ϭ2=0,18

Ϭ3=-0,09

Ϭ4=-0,110

Ϭ5=0,061

Ϭmax=0,18 при X2=-0,30

Схема алгоритмов

1. Схема алгоритма подпрограммы выбора функции (vibor):

Решение системы уравнений методом Зейделя - student2.ru

Начало

 
  Решение системы уравнений методом Зейделя - student2.ru
Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Ввод ( k, x )




Решение системы уравнений методом Зейделя - student2.ru нетда

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru k=1

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru да

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru k=2Ввод ( sinx )

 
  Решение системы уравнений методом Зейделя - student2.ru

нет

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru Ввод ( 1 ) Ввод ( cosx )

     
    Решение системы уравнений методом Зейделя - student2.ru
 
  Решение системы уравнений методом Зейделя - student2.ru

Конец
Решение системы уравнений методом Зейделя - student2.ru

2. Схема алгоритма подпрограммы расчёта коэффициентов (аb):

m = 3

n = 5 Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Начало

Решение системы уравнений методом Зейделя - student2.ru

Ввод ( x[n],[y] )

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru i = 0; i < m, i++ // цикл по строкам для

Решение системы уравнений методом Зейделя - student2.ru расчёта матрицы a и вектора b

Решение системы уравнений методом Зейделя - student2.ru j = 0, j < m, j++ // цикл по столбцам для расчёта

Решение системы уравнений методом Зейделя - student2.ru матрицы a

Sum = 0 // исходное значение переменной

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru Sum

J = 0, J < n, J++ // цикл расчёта элементов

Решение системы уравнений методом Зейделя - student2.ru матрицы а

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru Sum = Sum+vibor (( i, x [J] ) * vibor ( j, x [J] ))

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru J // конец цикла J

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru a [i] [j] = Sum // присваивание ij элементу его

Решение системы уравнений методом Зейделя - student2.ru значения Sum

j // конец цикла j

 
  Решение системы уравнений методом Зейделя - student2.ru
Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Sum = 0//исходное значение переменной

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru Sum

Решение системы уравнений методом Зейделя - student2.ru J = 0, J < n, J++//цикл расчёта элементов вектора

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru b

Sum = Sum + vibor ( i,x [J] * y [J])

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru

 
  Решение системы уравнений методом Зейделя - student2.ru
Решение системы уравнений методом Зейделя - student2.ru

J // конец цикла J

 
  Решение системы уравнений методом Зейделя - student2.ru
Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru b [i] = Sum //присваивание i элементу его

значения Sum Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru i//конец цикла i

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Вывод (а [m] [m], b [m])

Решение системы уравнений методом Зейделя - student2.ru

Конец

3. Схема алгоритма подпрограммы вывода матрицы (vivodmatr):

Решение системы уравнений методом Зейделя - student2.ru

Начало

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Ввод (а [m] [m])

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru i = 0, i < m, i++ // цикл по строкам для вывода

Решение системы уравнений методом Зейделя - student2.ru элементов матрицы а

Решение системы уравнений методом Зейделя - student2.ru j = 0, j < m, j++ // цикл по столбцам для вывода

Решение системы уравнений методом Зейделя - student2.ru элементов матрицы а

Решение системы уравнений методом Зейделя - student2.ru Вывод (а [i] [j] )

Решение системы уравнений методом Зейделя - student2.ru

j // конец цикла j

 
  Решение системы уравнений методом Зейделя - student2.ru
Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru i // конец цикла i

Решение системы уравнений методом Зейделя - student2.ru

Конец

4. Схема алгоритма вывода вектора (vivodvek):

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Начало

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Ввод ( b [m] )

Решение системы уравнений методом Зейделя - student2.ru

i = 0, i < m, i++ // цикл по строкам для

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru вывода элементов вектора b

Вывод ( b [i] )

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru i

Решение системы уравнений методом Зейделя - student2.ru

Конец

5. Схема алгоритма подпрограммы метода Зейделя (Zeidel):

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Начало

Решение системы уравнений методом Зейделя - student2.ru // Прямой ход

Ввод ( A,X0,B, eps,N ) // цикл исключения

Решение системы уравнений методом Зейделя - student2.ru переменной с номером i

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru M=1(1)N

X(M)=X0(M)

       
    Решение системы уравнений методом Зейделя - student2.ru
 
  Решение системы уравнений методом Зейделя - student2.ru

           
    Решение системы уравнений методом Зейделя - student2.ru
 
    Решение системы уравнений методом Зейделя - student2.ru
 
  Решение системы уравнений методом Зейделя - student2.ru

6. Подпрограмма расчёта f [i], g [i] и вывода результатов в виде таблицы (tabl):

m = 5

Решение системы уравнений методом Зейделя - student2.ru n = 5

Решение системы уравнений методом Зейделя - student2.ru Начало

Решение системы уравнений методом Зейделя - student2.ru Ввод ( x [n], y [n], x [m], g [n] )

 
  Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru // цикл расчёта

i = 0, i < n, i++ f [i], g [i] и вывода

Решение системы уравнений методом Зейделя - student2.ru таблицы результатов

Решение системы уравнений методом Зейделя - student2.ru

f [i] = c [o] + c [1] * x [i] + c [2] * x [i] * x [i] //считаю найденную

Решение системы уравнений методом Зейделя - student2.ru аппроксимирующую

Решение системы уравнений методом Зейделя - student2.ru функцию в точках

Решение системы уравнений методом Зейделя - student2.ru g [i] = y [i] – f [i] // считаем погреш-

ность аппроксимации

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Вывод ( x [i], y [i], f [i], g [i] )

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru i // конец цикла i

Решение системы уравнений методом Зейделя - student2.ru

Конец

7. Подпрограмма расчёта и вывода z (approksi):

Решение системы уравнений методом Зейделя - student2.ru

Начало

 
  Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Ввод ( g [n] )

Решение системы уравнений методом Зейделя - student2.ru //начальное значение

Решение системы уравнений методом Зейделя - student2.ru z = 0 качества аппроксимации

Решение системы уравнений методом Зейделя - student2.ru //цикл расчёта качества

i = 0, i < n, i++ аппроксимации

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru //качество аппроксимации

Решение системы уравнений методом Зейделя - student2.ru z = z + g [i] *g [i]равно сумме квадратов

Решение системы уравнений методом Зейделя - student2.ru погрешностей аппроксимац.

i

 
  Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Вывод ( z )

Решение системы уравнений методом Зейделя - student2.ru

Конец

8. Подпрограмма поиска и вывода максимального отклонения по модулю ( otklonenie):

n = 5

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Начало

Решение системы уравнений методом Зейделя - student2.ru

Ввод ( G [n], x [n] )

 
  Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru // пусть первая погрешность

Решение системы уравнений методом Зейделя - student2.ru g = | g [0] | аппроксимации максимальна

Решение системы уравнений методом Зейделя - student2.ru по модулю

max = 0

Решение системы уравнений методом Зейделя - student2.ru // цикл поиска максимального

Решение системы уравнений методом Зейделя - student2.ru по модулю отклонения

i = 0, i < n, i++ // если текущее отклонение

Решение системы уравнений методом Зейделя - student2.ru больше максимального

Решение системы уравнений методом Зейделя - student2.ru

да

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru | G [i] | > g

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru // текущее

Решение системы уравнений методом Зейделя - student2.ru G = | g [i] | отклонение

Решение системы уравнений методом Зейделя - student2.ru нетстановится

Решение системы уравнений методом Зейделя - student2.ru max = i максимальным

 
  Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru i // конец цикла i

 
  Решение системы уравнений методом Зейделя - student2.ru
Решение системы уравнений методом Зейделя - student2.ru

Вывод ( z )

 
  Решение системы уравнений методом Зейделя - student2.ru
Решение системы уравнений методом Зейделя - student2.ru

Конец

9. Схема алгоритма основной программы:

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Начало

Решение системы уравнений методом Зейделя - student2.ru // цикл ввода исходных

Решение системы уравнений методом Зейделя - student2.ru i = 0, i < n, i++ значений x и y

Решение системы уравнений методом Зейделя - student2.ru

Ввод x [i]

Решение системы уравнений методом Зейделя - student2.ru Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Ввод y [i]

Решение системы уравнений методом Зейделя - student2.ru

i // конец цикла i

 
  Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru // расчёт коэффициента

аb ( x, y, a, b ) нормальных уравнений

Решение системы уравнений методом Зейделя - student2.ru (матрицы a и вектора b)

Решение системы уравнений методом Зейделя - student2.ru

vivodmatr ( a ) // вывод матрицы a

 
  Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru // вывод вектора b

Решение системы уравнений методом Зейделя - student2.ru vivodvek ( b)

Решение системы уравнений методом Зейделя - student2.ru

gauss ( a, b, c) // решение СЛУ (c1, c2, c3)

 
  Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru vivod c ( c ) // вывод c1, c2, c3

Решение системы уравнений методом Зейделя - student2.ru Вывод ( f ) // вывод искомой

Решение системы уравнений методом Зейделя - student2.ru аппроксимирующей

Решение системы уравнений методом Зейделя - student2.ru функции

Решение системы уравнений методом Зейделя - student2.ru

 
  Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru // вывод результатов в

tabl ( x, y, c, g ) таблице

 
  Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru // расчёт и вывод качества

approksi ( g ) аппроксимации

 
  Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru // расчёт и вывод

otklonenie ( g, x ) максимального по модулю

Решение системы уравнений методом Зейделя - student2.ru отклонения

Решение системы уравнений методом Зейделя - student2.ru

Конец

10. Вывод значений с:

Решение системы уравнений методом Зейделя - student2.ru m = 3

Решение системы уравнений методом Зейделя - student2.ru Начало

Решение системы уравнений методом Зейделя - student2.ru

i = 0 (i), i < m, i++

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru Вывод ( с [i] )

Решение системы уравнений методом Зейделя - student2.ru

Решение системы уравнений методом Зейделя - student2.ru i

Решение системы уравнений методом Зейделя - student2.ru

Конец

Наши рекомендации