User Tools

Site Tools


Sidebar






Old

courses:computational_mathematics:prac1

This is an old revision of the document!


Практическая работа №1: Решение нелинейных уравнений и систем

Цель работы

Сформировать представление о методах решения нелинейных уравнений и систем нелинейных уравнений, выработать умение составлять и применять алгоритмы для решения уравнений и систем уравнений, привить навык использования программных средств для решения нелинейных уравнений и систем нелинейных уравнений.

Постановка задачи

Численно решить уравнение и систему уравнений методами Ньютона и простых итераций с заданной точностью $ \varepsilon $. Значение $ \varepsilon $ варьируется от 0.1 до 0.000001.

Порядок выполнения работы

  1. При решении уравнения $ f(x) = 0 $:
    1. Графически или аналитически отделить корни уравнения $ f(x) = 0 $, т.е. найти отрезки $ [a, b] $, на которых функция удовлетворяет условиям теоремы Больцано-Коши.
    2. Составить подпрограмму вычисления функции $ f(x) $.
    3. Для метода Ньютона:
      1. Составить программу newton() для вычисления корня уравнения методом Ньютона с заданной точностью $ \varepsilon $.
      2. Провести вычисления по программе для каждого корня. Заполнить табл. 1 при различных значениях $ \varepsilon $. Сделать выводы.
      3. Для наименьшего корня (для нечётных вариантов) и для наибольшего корня (для чётных вариантов) заполнить табл. 2 при $ \varepsilon = 0.000001 $. Сделать выводы.
      4. Теоретически и экспериментально исследовать скорость сходимости и обусловленность метода. Сделать выводы
    4. Для метода простых итераций:
      1. Привести уравнение $ f(x) = 0 $ к виду $ x = \varphi(x) $, где $ \varphi(x) = x + \lambda f(x) $, $ \lambda $ – некоторая константа. Проверить функцию $ \varphi(x) $ на сходимость. Составить программу phi() для функции $ \varphi(x) $, удовлетворяющей сходимости.
      2. Составить программу siter() для вычисления корня уравнения методом простых итераций с заданной точностью $ \varepsilon $.
      3. Провести вычисления по программе для каждого корня. Заполнить табл. 1 при различных значениях $ \varepsilon $. Сделать выводы.
      4. Для наименьшего корня (для нечётных вариантов) и для наибольшего корня (для чётных вариантов) заполнить табл. 3 при $ \varepsilon = 0.000001 $. Сделать выводы.
      5. Теоретически и экспериментально исследовать скорость сходимости и обусловленность метода. Сделать выводы.
  2. При решении системы уравнений $ F(X) = 0 $:
    1. Графически отделить решения системы нелинейных уравнений $ F(X) = 0 $.
    2. Составить подпрограммы для вычисления функций $ f_1(x, y) $ и $ f_2(x, y) $. Составить подпрограмму вычисления системы $ F(X) $.
    3. Для метода Ньютона:
      1. Составить программу newts() для вычисления решений системы уравнений методом Ньютона с заданной точностью $ \varepsilon $.
      2. Провести вычисления по программе для каждого корня. Заполнить табл. 4 при указанных значениях $ \varepsilon $. Сделать выводы.
      3. Для одного из корней заполнить табл. 5 при $ \varepsilon = 0.000001 $. Сделать выводы.
    4. Для метода простых итераций:
      1. Привести систему $ F(X) = 0 $ к виду $ X = \Phi(X) $, где $ \Phi(X) = X + \Lambda F(X) $, $ \Lambda $ – некоторая мажорирующая матрица. Проверить матрицу $ \Phi(X) $ на сходимость. Составить программу Phi() для функции $ \Phi(X) $, удовлетворяющей сходимости.
      2. Составить программу siters() для вычисления решения системы уравнений методом простых итераций с заданной точностью $ \varepsilon $.
      3. Провести вычисления по программе для каждого корня. Заполнить табл. 4 при указанных значениях $ \varepsilon $. Сделать выводы.
      4. Для одного из корней заполнить табл. 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

Варианты заданий

Выполнение работ осуществляется по индивидуальным вариантам заданий (уравнений и систем уравнений). Номер варианта для каждого студента определяется преподавателем.

Варианты к практической работе №1

courses/computational_mathematics/prac1.1650130998.txt.gz · Last modified: 2022/12/10 09:08 (external edit)