Метод Ньютона для решения систем нелинейных алгебраических уравнений.

Пусть известно некоторое приближение к корню . Запишем исходную систему нелинейных уравнений в виде

где . Разлагая эти уравнения в ряды и ограничиваясь первыми дифференциалами, т.е. линеаризуя функцию, получим

Это система уравнений, линейных относительно приращений ; все коэффициенты системы выражаются через последнее приближение . Решив эту систему, например, методом исключения найдем новое приближение .

Отметим, что система (6.13) в матричной форме имеет вид:

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

Матрица частных производных носит название матрицы Якоби. Для ее формирования возможны два пути: а) получить аналитические выражения для всех частных производных и вычислить их значение при – прием предпочтительный в смысле корректности подхода, но зачастую трудоемкий, особенно при большом числе аргументов; б) заменить частные производные в матрице Якоби их приближенными конечно-разностными значениями

где – малое приращение .

Алгоритм решения системы нелинейных уравнений методом Ньютона складывается из следующих этапов:

1) задают относительную погрешность вычисления аргументов , вектор начальных приближений , максимальное число итераций M для выхода из алгоритма в случае медленной сходимости или программных ошибок пользователя;

2. вычисляют матрицу Якоби по аналитическим выражениям или конечно-разностным методом, причем в последнем случае можно принять

3. решают систему линейных алгебраических уравнений (6.14) относительно приращений

4) вычисляют уточненное значение аргументов – новое приближение по формуле

5) проверяют выполнение условий по всем аргументам и если хотя бы одно выполняется, то возвращаются к п.2 для новой итерации; в противном случае полученный вектор считают решением.

Индивидуальные задания.

Индивидуальное задание 1. Решить уравнение методом дихотомии.

№ п/п Уравнение A B № п/п Уравнение A B
Tg(x) = 1/x p/2 Tg(x) = 1/x2 p/2
Ln(x) = 1/x Ln(x) = Sin(x)
e-x = x e-x = Sin(x) p/2
Ln(x) = 1/ x2 ex = 1/Sin(x) p/2
e-x2 = x e-x = x2
2 + Ln(x) = 1/x2
2 +Ln(x) = 1/x Ln(x) = Sin2(x) p/2
x - x3 + 1 = 0 x - x3 + 2 = 0
x + 3 = x3 x + 5 = x3
x + x3 - 5 = 0 x - 0,5 = x8 0,5
2x + x5 - 1 = 0 x - 1 = x0,15
1 - x2 - x1,5 =0 1 - x2 = x4/3
x +0,5 = e-x2 x + 0,5 = e-x
1 - x + x3 = 0 -2 2 - x + x3 = 0 -2
1 + x = x3 Sin(x) = 1/x p/2

Индивидуальное задание 2. Решить систему уравнений методом Ньютона. Погрешность для всех вариантов принять e=0,1.

№ вар Система № вар Система

Лабораторные работы.

Лабораторная работа №5. Реализация методов решения уравнений и их систем средствами VBA.

Задание 1. Внести необходимые изменения в процедуры выполнения шага жордановых исключений, написанные в предыдущих лабораторных работах, чтобы с их помощью можно было решать системы линейных уравнений. Т.е. реализовать метод транспозиции. Используя эту процедуру, решить задачу индивидуального задания 1.

Задание 2. Используя формулы метода Гаусса и формулы массивов в Excel, подготовьте лист для решения системы линейных уравнений по образцу, представленному ниже:

Решение системы линейных уравнений методом Гаусса  
1. Прямой ход метода Гаусса   2. Обратный ход метода Гаусса  
Матрица коэффициентов А вектор В         Х
    0,186
    0,779
    -0,636
    0,457
            3.Проверка  
  Матрица коэффициентов А Х B=A*X
0,5 -7,5 -8 1,5   0,186
-4,5 -16,5 -12 1,5   0,779
-1,5 -9,5 -3 3,5   -0,636
            0,457
             
0,5 -7,5 -8 1,5              
-84 -84              
-32 -27              
                       
             
0,5 -7,5 -8 1,5              
-84 -84              
2,286              

Рис.3 Рабочий лист для решения СЛУ методом Гаусса.

В качестве образца создание формул ознакомьтесь с формулами первого шага прямого хода исключения (Рис 4.):

Прямой ход метода Гаусса

Матрица коэффициентов А вектор В

 
=A4:E4- $A$3:$E$3* (A4/$A$3) =A4:E4- $A$3:$E$3* (A4/$A$3) =A4:E4- $A$3:$E$3* (A4/$A$3) =A4:E4- $A$3:$E$3* (A4/$A$3) =A4:E4- $A$3:$E$3* (A4/$A$3)  
 
 
=A5:E5- $A$3:$E$3* (A5/$A$3) =A5:E5- $A$3:$E$3* (A5/$A$3) =A5:E5- $A$3:$E$3* (A5/$A$3) =A5:E5- $A$3:$E$3* (A5/$A$3) =A5:E5- $A$3:$E$3* (A5/$A$3)  
 
 
=A6:E6- $A$3:$E$3* (A6/$A$3) =A6:E6- $A$3:$E$3* (A6/$A$3) =A6:E6- $A$3:$E$3* (A6/$A$3) =A6:E6- $A$3:$E$3* (A6/$A$3) =A6:E6- $A$3:$E$3* (A6/$A$3)  
 
 

Рис. 4. Формулы первого шага прямого хода исключения

Задание 3. Построить блок-схему алгоритма и разработать VBA-программу решения системы линейных уравнений методом Гаусса.

Задание 4. С помощью созданного рабочего листа Excel и разработанной VBA-программы решить системы уравнений методом Гаусса и вычислить выражения (согласно своему варианту):

1. Решить системы линейных уравнений АХ=В, А Х=В и вычислить значения квадратичной формы z=Y A A Y, где

, ,

2. Решить системы линейных уравнений АХ=В, А Х=В и вычислить значения квадратичной формы z=Y A A Y, где

, ,

3. Решить системы линейных уравнений АХ=В, А Х=В и вычислить значения квадратичной формы z=Y A A Y, где

, ,

4. Решить системы линейных уравнений АХ=В, А А Х=В и вычислить значения квадратичной формы z=Y А Y, где

, ,

5. Решить системы линейных уравнений АХ=В, А А Х=В и вычислить значения квадратичной формы z=Y А Y, где

, ,

6. Решить системы линейных уравнений АХ=В, А А Х=В и вычислить значения квадратичной формы z=Y А Y, где

, ,

7. Решить системы линейных уравнений АХ=В, АА АХ=В и вычислить значения квадратичной формы z=Y А А Y, где

, ,

8. Решить системы линейных уравнений АХ=В, АА АХ=В и вычислить значения квадратичной формы z=Y А А Y, где

, ,

9. Решить системы линейных уравнений АХ=В, АА АХ=В и вычислить значения квадратичной формы z=Y А А Y, где

, ,

10. Решить системы линейных уравнений АХ=В, А А АХ=В и вычислить значения квадратичной формы z=Y А А А Y, где

, ,

11. Решить системы линейных уравнений АХ=В, А А АХ=В и вычислить значения квадратичной формы z=Y А А А Y, где

, ,

12. Решить системы линейных уравнений АХ=В, А А АХ=В и вычислить значения квадратичной формы z=Y А А А Y, где

, ,

13. Решить системы линейных уравнений АХ=В, АА А Х=В и вычислить значения квадратичной формы z=Y А А Y, где

, ,

14. Решить системы линейных уравнений АХ=В, АА А Х=В и вычислить значения квадратичной формы z=Y А А Y, где

, ,

15. Решить системы линейных уравнений АХ=В, АА А Х=В и вычислить значения квадратичной формы z=Y А А Y, где

, ,

16. Решить системы линейных уравнений АХ=В, А А Х=В и вычислить значения квадратичной формы z=Y А А АY, где

, ,

17. Решить системы линейных уравнений АХ=В, А А Х=В и вычислить значения квадратичной формы z=Y А А АY, где

, ,

18. Решить системы линейных уравнений АХ=В, А А Х=В и вычислить значения квадратичной формы z=Y А А АY, где

, ,

19. Решить системы линейных уравнений АХ=В, А А Х=В и вычислить значения квадратичной формы z=Y А А А Y, где

, ,

20. Решить системы линейных уравнений АХ=В, А А Х=В и вычислить значения квадратичной формы z=Y А А А Y, где

, ,

21. Решить системы линейных уравнений АХ=В, А А Х=В и вычислить значения квадратичной формы z=Y А А А Y, где

, ,

22. Решить системы линейных уравнений АХ=В, АА А Х=В и вычислить значения квадратичной формы z=Y А А АY, где

, ,

23. Решить системы линейных уравнений АХ=В, АА А Х=В и вычислить значения квадратичной формы z=Y А А АY, где

, ,

24. Решить системы линейных уравнений АХ=В, АА А Х=В и вычислить значения квадратичной формы z=Y А А АY, где

, ,

25. Решить системы линейных уравнений АХ=В, АТААТХ=В и вычислить значение квадратичной формы z=YTAATAATY , где

26. Решить системы линейных уравнений АХ=В, АТААТХ=В и

вычислить значение квадратичной формы z=YTAATAATY , где

27. Решить системы линейных уравнений АХ=В, АТААТХ=В и

вычислить значение квадратичной формы z=YTAATAATY , где

28. Решить системы линейных уравнений АХ=В, АТААТХ=В и

вычислить значение квадратичной формы z=YTAATAATY , где

29. Решить системы линейных уравнений АХ=В, АТААТХ=В и

вычислить значение квадратичной формы z=YTAATAATY , где

30. Решить системы линейных уравнений АХ=В, АТААТХ=В и

вычислить значение квадратичной формы z=YTAATAATY , где

Задание 5. Построить блок-схему алгоритма и разработать VBA-программу поиска корня нелинейного уравнения f1(x)=f2(x) на заданном отрезке [a,b] c заданной точностью ε, реализовав в виде процедуры метод половинного деления. Используя процедуру решить уравнение приведенное таблице 1.

Задание 6. Подготовить рабочий лист в Excel для решения системы нелинейных уравнений методом Ньютона по следующему образцу (рис 4а) и решить уравнение в соответствии со своим вариантом. Значение погрешности e принять равным 0,001 для всех вариантов.

  Решение системы уравнений методом Ньютона  
Исходная система уравнений   Производные      
f1=6x1^2+x2^2+10x1=0   df1dx1=12x1+10 df1dx2=2x2  
f2=2x1x2+2x2=0     df2dx1=2x2 df2dx2=2x1+2  
Шаг   x f W-якобиан W-1-обратный dx
df1 df2
x1 0,1 1,1 11,2 0,4 0,089869 -0,01634 0,091667
x2 0,2 0,44 0,4 2,2 -0,01634 0,457516 0,183333
x1 0,008333 0,084028 10,1 0,033333 0,099015 -0,00164 0,008265
x2 0,016667 0,033611 0,033333 2,016667 -0,00164 0,495895 0,01653
x1 6,83E-05 0,000683 10,00082 0,000273 0,099992 -1,4E-05 6,83E-05
x2 0,000137 0,000273 0,000273 2,000137 -1,4E-05 0,499966 0,000137
x1 4,67E-09 4,67E-08 1,87E-08 0,1 -9,3E-10 4,67E-09
x2 9,33E-09 1,87E-08 1,87E-08 -9,3E-10 0,5 9,33E-09

Рис. 4а. Рабочий лист Excel для решения системы уравнений методом Ньютона.

Задание 7. Построить блок-схему алгоритма и разработать VBA-программу решения систем нелинейных уравнений методом Ньютона. С заданной точностью ε=0,001.

Задание 8. Преобразовать нелинейные уравнения системы из Таблицы 3а к виду f 1(x) = y и f 2 (y)= x. Построить их графики и определить начальное приближение решения. Затем решить с помощью метода Ньютона.

Таблица 3а. Задания к методу Ньютона

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