Главная страница
Навигация по странице:

  • Параметр сходимости

  • Численные методы. Лабораторная. решение нелинейных уравнений.. Решение не линейных уравнений


    Скачать 110.1 Kb.
    НазваниеРешение не линейных уравнений
    АнкорЧисленные методы. Лабораторная. решение нелинейных уравнений
    Дата13.12.2022
    Размер110.1 Kb.
    Формат файлаdocx
    Имя файлаlaba3.docx
    ТипЛабораторная работа
    #842040

    Министерство образования и науки РФ

    Федеральное государственное бюджетное образовательное учреждение

    высшего профессионального образования
    ИВАНОВСКИЙ ГОСУДАРСТВЕННЫЙ

    ХИМИКО-ТЕХНОЛОГИЧЕСКИЙ

    УНИВЕРСИТЕТ

    Кафедра: Высшей и прикладной математики

    Лабораторная работа № 2
    Дисциплина: Численные методы и прикладное программирование
    Тема: Решение не линейных уравнений

    Выполнил: Соловьев Д.А.

    Группа 3/57

    Проверил: Кокурина Г.Н.

    Иваново 2022 г

    Способ хорд

    Теоретическая часть


    Данный способ можно свести к следующему алгоритму:

    1. Разделим всю область исследования (Df) отрезки, такие, что внутри каждого отрезка [x1;x2] функция монотонная, а на его концах значения функции (x1) и (x2) разных знаков. Так как функция (x) непрерывна на отрезке [x1;x2], то ее график пересечет ось ОХ в какой либо одной точке между x1 и x2.

    2. Проведем хорду АВ, соединяющую концы кривой y = (x), соответствующие абсциссам x1 и x2. Абсцисса a1 точки пересечения этой хорды с осью ОХ и будет приближенным значением корня. Для разыскания этого приближенного значения напишем уравнение прямой АВ, проходящей через две данные точки A(x1;(x1)) и B(x2; (x2)), в каноническом виде:

    ;

    Учитывая, что y = 0 при x = a1, выразим из данного уравнения a1:



    1. Чтобы получить более точное значение корня, определяем (а1). Если на данном отрезке мы имеем (x1)<0, (x2)>0 и (a1)<0, то повторяем тот же прием, применяя формулу (1) к отрезку [a1;x2]. Если (x1)>0, (x2)<0 и (a1)>0, то применяем эту формулу к отрезку [x1;a1]. Повторяя этот прием несколько раз, мы будем получать все более точные значения корня а2, а3 и т.д.


    Метод касательных

    Чтобы численно решить уравнение   методом простой итерации, его необходимо привести к следующей форме:  , где   — сжимающее отображение.

    Для наилучшей сходимости метода в точке очередного приближения   должно выполняться условие  . Решение данного уравнения ищут в виде  , тогда:



    В предположении, что точка приближения «достаточно близка» к корню  , и что заданная функция непрерывна  , окончательная формула для  такова:



    С учётом этого функция   определяется выражением:



    Эта функция в окрестности корня осуществляет сжимающее отображение[1], и алгоритм нахождения численного решения уравнения   сводится к итерационной процедуре вычисления:


    Пусть имеется уравнение х3-3х2+12х-9=0
    Метод касательных
    Найдем корни уравнения:

    x3-3·x2+12·x-9 = 0


    ε = 0.0001
    Используем для этого Метод Ньютона.
    Пусть корень ξ уравнения f(x)=0 отделен на отрезке [a,b]. Предположим мы нашли (n-1)-ое приближение корня xn-1. Тогда n-ое приближение xn мы можем получить следующим образом. Положим:
    xn = xn-1 + hn-1
    Раскладывая в ряд f(x=ξ) в точке xn-1, получим:
    f(xn) = f(xn-1+hn-1) = f(xn-1) + f’(xn-1)hn-1=0
    Отсюда следует:

    Подставим hn-1 в формулу, получим:

    Метод Ньютона эквивалентен замене дуги кривой y=f(x) касательной, проведенной в некоторой точке кривой.
    Находим первую производную:
    dF/dx = 12
    Находим вторую производную:
    d2F/dx2 = 0
    Решение.
    F(-10)=-109; F(10)=91
    Поскольку F(-10)*F(10)<0 (т.е. значения функции на его концах имеют противоположные знаки), то корень лежит в пределах [-10;10].
    Вычисляем значения функций в точке a = -10
    f(-10) = -109
    f''(-10) =
    Критерий остановки итераций.
    |f(xk)| < εm1
    или

    где M2 = max|f "(x)|, m1 = min|f'(x)|.
    Поскольку f(a)•f''(a) < 0, то x0 = b = 10
    Остальные расчеты сведем в таблицу.

    N

    x

    F(x)

    dF(x)

    h = f(x) / f'(x)

    1

    10

    91

    12

    7.5833

    2

    2.4167

    15.1667

    12

    1.2639

    3

    1.1528

    2.5278

    12

    0.2106

    4

    0.9421

    0.4213

    12

    0.03511

    5

    0.907

    0.07022

    12

    0.00585

    6

    0.9012

    0.0117

    12

    0.000975

    7

    0.9002

    0.00195

    12

    0.000163

    8

    0.9

    0.000325

    12

    2.7E-5


    Ответ: x = 0.9 - 0.000325 / 12 = 0.90000541790504; F(x) = 5.4E-5
    Параметр сходимости.
    Скорость сходимости метода Ньютона квадратичная с коэффициентом
    α = M2/2m1, где M2 = max|f "(x)|, m1 = min|f'(x)|.Метод хорд.


    Рассмотрим более быстрый способ нахождения корня на интервале [a,b], в предположении, что f(a)f(b)<0.
    Уравнение хорды:

    В точке x=x1, y=0, в результате получим первое приближение корня

    Проверяем условия:
    1. f(x1)f(b)<0,
    2. f(x1)f(a)<0.
    Если выполняется условие (1), то в формуле точку a заменяем на x1, получим:

    Продолжая этот процесс, получим для n-го приближения:

    Пусть f(xi)f(a)<0. Записав уравнение хорды, мы на первом шаге итерационного процесса получим x1. Здесь выполняется f(x1)f(a)<0. Затем вводим b1=x1 (в формуле точку b заменяем на x1), получим:

    Продолжая процесс, придем к формуле:

    Останов процесса:
    |xn – xn-1|< ε, ξ = xn.
    Находим первую производную:
    dF/dx = 12
    Находим вторую производную:
    d2F/dx2 = 0
    Решение.
    F(-10)=-169; F(10)=151
    Поскольку F(-10)*F(10)<0 (т.е. значения функции на его концах имеют противоположные знаки), то корень лежит в пределах [-10;10].
    Вычисляем значения функций в точке a = -10
    f(-10) = -169
    f''(-10) =
    Поскольку f(a)•f''(a) < 0, то x0 = b = 10
    Остальные расчеты сведем в таблицу.

    N

    x

    F(x)

    h = F(x)*(b-x)/(f(b)-f(x))

    1

    -10

    -169

    -10.5625

    2

    0.5625

    0

    0


    Ответ: x = 0.563-(0) = 0.5625; F(x) = 0
    Параметр сходимости.
    Сходимость метода хорд линейная с коэффициентом:
    α = 1 - m1/M1, где m1 = min|f'(x)|; M1 = max|f'(x)|

    Найдем корни уравнения:

    ctg(1.01·x)-x2 = 0


    ε = 0.0001

    Метод хорд

    Рассмотрим более быстрый способ нахождения корня на интервале [a,b], в предположении, что f(a)f(b)<0.
    Уравнение хорды:

    В точке x=x1, y=0, в результате получим первое приближение корня

    Проверяем условия:
    1. f(x1)f(b)<0,
    2. f(x1)f(a)<0.
    Если выполняется условие (1), то в формуле точку a заменяем на x1, получим:

    Продолжая этот процесс, получим для n-го приближения:

    Пусть f(xi)f(a)<0. Записав уравнение хорды, мы на первом шаге итерационного процесса получим x1. Здесь выполняется f(x1)f(a)<0. Затем вводим b1=x1 (в формуле точку b заменяем на x1), получим:

    Продолжая процесс, придем к формуле:

    Останов процесса:
    |xn – xn-1|< ε, ξ = xn.
    Находим первую производную:
    dF/dx = 12
    Находим вторую производную:
    d2F/dx2 = 0
    Решение.
    Поскольку F(-10)*F(10)<0 (т.е. значения функции на его концах имеют противоположные знаки), то корень лежит в пределах [-10;10].
    Вычисляем значения функций в точке a = -10
    f(-10) = -109
    f''(-10) =
    Поскольку f(a)•f''(a) < 0, то x0 = b = 10
    Остальные расчеты сведем в таблицу.

    N

    x

    F(x)

    h = F(x)*(b-x)/(f(b)-f(x))

    1

    -10

    -109

    -10.9

    2

    0.9

    0

    0


    Ответ: x = 0.9-(0) = 0.9; F(x) = 0
    Параметр сходимости.
    Сходимость метода хорд линейная с коэффициентом:
    α = 1 - m1/M1, где m1 = min|f'(x)|; M1 = max|f'(x)|



    ctg(1,01x)-x^2=0

    Используем для этого Комбинированный метод.
    Пусть f(a)f(b)<0, а f’(x) и f’’(x) сохраняют знаки на [a,b]. Объединяя метод хорд и метод Ньютона, можно ускорить сходимость итерационного процесса поиска корня.
    В результате мы получаем комбинированный метод, на каждом шаге которого находим значение обоих границ интервалов, внутри которых содержится корень.
    Также как и в методе хорд, рассмотрим следующие ситуации:
    1. Если f’’(b0)f(b0)>0 (то есть bn - неподвижен) то:


    2) Если f’’(a0)f(a0)>0 (an - неподвижен), то:


    Находим первую производную:
    dF/dx = -2•x-1.01•cot(1.01•x)2-1.01
    Находим вторую производную:
    d2F/dx2 = 2.04•(cot(1.01•x)2+1)•cot(1.01•x)-2


    написать администратору сайта