Добавил:
ищу тиммейта в R6siege Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 вар23 / Работа1_Отчет

.docx
Скачиваний:
0
Добавлен:
01.06.2024
Размер:
71.45 Кб
Скачать

Министерство цифрового развития, связи и массовых коммуникация Российской Федерации

Ордена Трудового Красного Знамени федеральное государственное бюджетное

образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра Информатики

Лабораторная работа №1

По дисциплине «Численные методы»

На тему «Методы решений нелинейных уравнений»

Вариант 23

Выполнил: студент группы

Проверил: преподаватель

Москва, 2024

Цель работы:

1. Выбрать индивидуальное задание из табл. 1-1:

• нелинейное уравнение;

• методы решения нелинейного уравнения для выполнения 3-х итераций;

2. Отделить корни заданного уравнения графическим и аналитическим

методом с использованием средств пакета Scilab.

3. Для каждого из заданных методов провести исследование функции

нелинейного уравнения:

• проверить выполнение условий сходимости вычислительного

процесса, в случае расходящегося процесса – сделать необходимые

преобразования для обеспечения сходимости;

• выбрать начальное приближение к корню;

• сформулировать условие окончания этапа уточнения корня.

4. С использованием итерационной формуле 1-го заданного методу провести расчет трех итераций с использованием средств пакета Scilab.

Результаты расчета свести в табл. 1-2.

5. Оценить погрешность результата после 3-х итераций.

6. Для 2-го заданного метода выполнить решение уравнения с точностью 10-4 , создав программу, реализующую заданный метод. Произвести

расчет, а результаты решений свести в табл. 1-2.

  1. Найти решение нелинейного уравнения на отделенном отрезке с использованием функции fsolve пакета Scilab.

Индивидуальное задание

Выполнение задания

Часть1 - Метод итераций

Отделение корней в MathCad

Производим ручной расчет

Результаты вычислений:

n

a

b

F(a)

F(b)

(a+b)/2

F((a+b)/2)

b-a

F(a)*f(x)

0

2

2.028

-0,099

4.882*10^-3

2.014

-0.047

0.028

4.642*10^-3

1

2.014

2.028

-0.047

4.882*10^-3

2.021

-0.021

0.014

9.954*10^-4

2

2.021

2.028

-0.021

4.882*10^-3

2.024

-8.146*10^-3

0.007

1.723*10^-4

3

2.024

2.028

-8.146*10^-3

4.882*10^-3

2.026

-1.635*10^-3

0.004

1.332*10^-5

Погрешность:

Итоговый корень уравнения:

X=2.026±3.5*10^-3

Часть 2 - Метод Ньютона

Расчет на ПК

import math

def f(x):

    return x**2 - math.log(1 + x) - 3

def df(x):

    return 2*x - 1/(1+x)

def newton_method(func, deriv, x0, max_iter):

    iteration = 0

    while iteration < max_iter:

        x1 = x0 - func(x0) / deriv(x0)

        x0 = x1

        iteration += 1

    return x1

x0 = 1

max_iterations = 1000

result = newton_method(f, df, x0, max_iterations)

print("x =", ‘%.4f’%result)

Cхема работы алгоритма

Вывод

В данной работе были изучены и решены уравнения методами половинного деления и Ньютона.

Соседние файлы в папке 1 вар23