Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
titulnyy (1).doc
Скачиваний:
21
Добавлен:
18.08.2019
Размер:
343.55 Кб
Скачать

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

F(x)= cos(2/x) - 2*sin(1/x) + 1/x [1;2] с шагом hx=0.1

Блок - схемы

  1. Шаговый метод отделения корней.

x=xn

x=x+hx

нет

да

Y

Y= cos(2/x)-2*sin(1/x)+1/x

  1. Метод половинного деления.

нет

да

нет

да

  1. Уточнение корня методом Ньютона.

да

нет

F(x)=cos(2/x)-2*sin(1/x)+1/x

F’(x)=(2/x*x)*sin(2/x)+(2/x*x)*cos(1/x)-1/x*x

4 . Метод простой итерации.

x,e

X=s(x)

нет

да

S(x)=2/acos(2*sin(1/x)-1/x)

F(x)=cos(2/x)-2*sin(1/x)+1/x

Реализация в Mathcad

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

1. Отделение корней нелинейного уравнения f(x) = 0, где f(x) : = cos(2/x) - 2*sin(1/x) + 1/x на промежутке [1;2] с шагом hx = 0,1 шаговым (табличным) методом.

Зададим диапазон и шаг

Зададим функцию

Из анализа полученной таблицы следует, что функция изменяет знак один раз. Поэтому выбираем интервал изоляции для этого корня [1.8;1.9].

2. Уточнение корня методом линеаризации Ньютона

2.1. Уточнение корня по методу Ньютона на интервале изоляции корня [1.8;1.9] при максимальном числе итераций 5

Зададим диапазон итераций

Начальное приближение к корню

Функция по левой части должна быть равна нулю

Формула для вычисления производной

Итерационная формула для вычисления массива приближений к корню

Таблица приближенных решений для 5 итераций

Сходимость к точному решению х = 1.8 наблюдается по результатам второй и третьей колонке. для второго приближения при i = 1 ошибка по х равна 0,076 , а по значению функции ошибка составляет -2.328*10-3 , а после четвертой итерации ошибки уже нулевые.

2.2. Определение корня с машинной точностью на интервале изоляции [1.8;1.9]

Начальное и конечное значение интервала

Начальное приближение корня

Задание функции

Проверка интервала изоляции корня на смену знака.Начальное и конечное значение интервала

Задание начала блока решения уравнения

Задание уравнения (Знак логического равенства - жирный!)

Вызов решающей функции Find(x) - найти решение

Оператор вычислить корень по набранной выше программе

Оператор вычислить левую часть уравнения для проверки равенства нулю в уравнении для корня

2.3. Определение корня с заданной точностью по функции root (f(x),x) - корень

3. Уточнение корня методом половинного деления на интервале изоляции корня

Задаем интервал

Проверка смены знака на концах промежутка

Функция пользователя для вычисления середины интервала

Зададим вектор-функцию int для вычисления нужной половины интервала [a,b]

Вычисление половины интервала с корнем

Здесь используется функция if (если). Если после вычислений условие (неравенство) выполняется, то результатом будет следующая пара чисел в вертикальных квадратных скобках, если нет, то - последняя.

Функция int(a,b) не позволяет находить решение для пограничного случая, когда коренб находится ровно посередине, поэтому необходимо чуть-чуть увеличить границу данного интервала, т.е. 1,9 вместо 2 ровно.

Начальный интервал

Диапазон итераций

Итерационная формула

Из анализа результатов расчета видно, что на итерациях выбирается правая половина данного интервала, приближаясь к значению х = 1.875. Значение функции уменьшается до нуля.

Реализация в Excel

Шаговый метод

F(x)= cos(2/x) - 2*sin(1/x) + 1/x

x

F(x)

1

-1,09909

1,1

-0,91367

1,2

-0,74274

1,3

-0,58961

1,4

-0,45412

1,5

-0,33484

1,6

-0,22987

1,7

-0,13737

1,8

-0,05561

1,9

0,0169

2

0,081451

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]