User Tools

Site Tools


courses:computational_mathematics:prac1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
courses:computational_mathematics:prac1 [2022/07/04 05:45]
andrey.suchkov removed
— (current)
Line 1: Line 1:
-====== Практическая работа №1: Решение нелинейных уравнений и систем ====== 
-===== Цель работы ===== 
-Сформировать представление о методах решения нелинейных уравнений и систем нелинейных уравнений,​ выработать умение составлять и применять алгоритмы для решения уравнений и систем уравнений,​ привить навык использования программных средств для решения нелинейных уравнений и систем нелинейных уравнений. 
  
-===== Постановка задачи ===== 
-Численно решить уравнение и систему уравнений методами Ньютона и простых итераций с заданной точностью $ \varepsilon $. Значение $ \varepsilon $ варьируется от 0.1 до 0.000001. 
- 
-===== Порядок выполнения работы ===== 
-  - При решении уравнения $ f(x) = 0 $: 
-    - Графически или аналитически отделить корни уравнения $ f(x) = 0 $, т.е. найти отрезки $ [a, b] $, на которых функция удовлетворяет условиям теоремы Больцано-Коши. 
-    - Составить подпрограмму вычисления функции $ f(x) $. 
-    - Для метода Ньютона:​ 
-      - Составить программу ''​newton()''​ для вычисления корня уравнения методом Ньютона с заданной точностью $ \varepsilon $. 
-      - Провести вычисления по программе для каждого корня. Заполнить табл. 1 при различных значениях $ \varepsilon $. Сделать выводы. 
-      - Для наименьшего корня (**для нечётных вариантов**) и для наибольшего корня (**для чётных вариантов**) заполнить табл. 2 при $ \varepsilon = 0.000001 $. Сделать выводы. 
-      - Теоретически и экспериментально исследовать скорость сходимости и обусловленность метода. Сделать выводы 
-    - Для метода простых итераций:​ 
-      - Привести уравнение $ f(x) = 0 $ к виду $ x = \varphi(x) $, где $ \varphi(x) = x + \lambda f(x) $, $ \lambda $ -- некоторая константа. Проверить функцию $ \varphi(x) $ на сходимость. Составить программу ''​phi()''​ для функции $ \varphi(x) $, удовлетворяющей сходимости. 
-      - Составить программу ''​siter()''​ для вычисления корня уравнения методом простых итераций с заданной точностью $ \varepsilon $. 
-      - Провести вычисления по программе для каждого корня. Заполнить табл. 1 при различных значениях $ \varepsilon $. Сделать выводы. 
-      - Для наименьшего корня (**для нечётных вариантов**) и для наибольшего корня (**для чётных вариантов**) заполнить табл. 3 при $ \varepsilon = 0.000001 $. Сделать выводы. 
-      - Теоретически и экспериментально исследовать скорость сходимости и обусловленность метода. Сделать выводы. 
-  - При решении системы уравнений $ F(X) = 0 $: 
-    - Графически отделить решения системы нелинейных уравнений $ F(X) = 0 $. 
-    - Составить подпрограммы для вычисления функций $ f_1(x, y) $ и $ f_2(x, y) $. Составить подпрограмму вычисления системы $ F(X) $. 
-    - Для метода Ньютона:​ 
-      - Составить программу ''​newts()''​ для вычисления решений системы уравнений методом Ньютона с заданной точностью $ \varepsilon $. 
-      - Провести вычисления по программе для каждого корня. Заполнить табл. 4 при указанных значениях $ \varepsilon $. Сделать выводы. 
-      - Для одного из корней заполнить табл. 5 при $ \varepsilon = 0.000001 $. Сделать выводы. 
-    - Для метода простых итераций:​ 
-      - Привести систему $ F(X) = 0 $ к виду $ X = \Phi(X) $, где $ \Phi(X) = X + \Lambda F(X) $, $ \Lambda $ -- некоторая мажорирующая матрица. Проверить матрицу $ \Phi(X) $ на сходимость. Составить программу ''​Phi()''​ для функции $ \Phi(X) $, удовлетворяющей сходимости. 
-      - Составить программу ''​siters()''​ для вычисления решения системы уравнений методом простых итераций с заданной точностью $ \varepsilon $. 
-      - Провести вычисления по программе для каждого корня. Заполнить табл. 4 при указанных значениях $ \varepsilon $. Сделать выводы. 
-      - Для одного из корней заполнить табл. 6 при $ \varepsilon = 0.000001 $. Сделать выводы. 
- 
-==== Таблицы ==== 
-=== Таблица 1 === 
-^  Значение $ \varepsilon $  ^  Значение $ x_1 $  ^  Значение $ x_2 $  ^  Число итераций $ k $  ^ 
-|  0.1  |    |    |    | 
-|  ...  |||| 
- 
-=== Таблица 2 === 
-^  Значение $ k $  ^  Значение $ x^{(k)} $  ^  Значение $ f(x^{(k)}) $  ^  Значение $ f'​(x^{(k)}) $  ^  Значение $ -f(x^{(k)})/​f'​(x^{(k)}) $  ^ 
-|  0  |    |    |    |    | 
-|  ...  ||||| 
- 
-=== Таблица 3 === 
-^  Значение $ k $  ^  Значение $ x^{(k)} $  ^  Значение $ \varphi(x^{(k)}) $  ^ 
-|  0  |    |    | 
-|  ...  ||| 
- 
-=== Таблица 4 === 
-^  Значение $ \varepsilon $  ^  Значение $ \vec r_1 = (x_1, y_1) $  ^  Значение $ \vec r_2 = (x_2, y_2) $  ^  Число итераций $ k $  ^ 
-|  0.1  |    |    |    | 
-|  ...  |||| 
- 
-=== Таблица 5 === 
-^  Значение $ k $  ^  Значение $ \vec r^{(k)} $  ^  Значение $ f_1(\vec r^{(k)}) $  ^  Значение $ f_2(\vec r^{(k)}) $  ^  Значение $ -J^{-1}(\vec r^{(k)}) \cdot F(\vec r^{(k)}) $  ^ 
-|  0  |    |    |    |    | 
-|  ...  ||||| 
- 
-=== Таблица 6 === 
-^  Значение $ k $  ^  Значение $ \vec r^{(k)} $  ^  Значение $ \Phi(\vec r^{(k)}) $  ^ 
-|  0  |    |    | 
-|  ...  ||| 
- 
-===== Варианты заданий ===== 
-<note important>​ 
-Выполнение работ осуществляется по индивидуальным вариантам заданий (уравнений и систем уравнений). Номер варианта для каждого студента определяется преподавателем. 
-</​note>​ 
-[[.task1:​task1_vars]]