Файл: Методы решения нелинейных уравнений.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.01.2024

Просмотров: 28

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Федеральное агентство связи Ордена

Трудового Красного Знамени

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

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

(МТУСИ)

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

Предмет: Численные методы
Лабораторная работа № 1
Тема:

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



Вариант 22

Выполнил: Иван Иванов


Общее задание

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

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

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

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

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

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

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

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

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

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

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

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


первый заданный метод — метод Ньютона

второй заданный метод – метод итерации

Первый этап - отделение корней





Из построенного графика функции видно, что на отрезке (0;0.625) есть один корень.

Второй этап – ручной расчет

Воспользуемся методом Ньютона.




k

Xk

f(xk)

0

0

1

1

0.1

9.95*10-3

2

0.10101508097

9.99*10-7

3

0.10101518291

9.992*10-15


Третий этап – расчет с использованием программы
Воспользуемся методом простых итераций
Код программы:
import math

x = float(input('Введите начальное приближение: '))

eps = float(input('Введите необходимое значение точности: '))
def f(x): #заданная функция

return 4*(x*x+1)*math.log(x, math.e)-1
def f1(x): #функция первой производной

return 8*x*math.log(x, math.e)+4*x+4/x
i = x

t = 0

n = 0

xn = x

xn1 = 0

while abs(xn1-xn) > eps:

n += 1

xn = i

t = f(xn)/f1(xn)

xn1 = xn - t

i = xn1

print("│ кол-воитераций: " + str(n) + " │ значениекорня: " + str(xn1))

break
Результат работы программы:
Введите начальное приближение: 1

Введите необходимое значение точности: 0.0001

│ кол-во итераций: 1 │ значение корня: 1.125

│ кол-во итераций: 2 │ значение корня: 1.1176051231553725

│ кол-во итераций: 3 │ значение корня: 1.1175756445147635

Вычисленное значение корня на калькуляторе: x = 1.11757564404935

Вычисленное значение корня с помощью программы:

X = 1.1175756445147635
Всего за три итерации мы достигли точности аж до 9 знака после запятой.