Скачиваний:
18
Добавлен:
07.01.2014
Размер:
268.29 Кб
Скачать

Российский химико-технологический университет им. Д.И.Менделеева

Кафедра вычислительной математики

ОТЧЕТ

РЕШЕНИЕ УРАВНЕНИЯ С ОДНИМ НЕИЗВЕСТНЫМ

Вариант 15

Выполнил: Михеев Д.И.. гр. И-24

Проверил: Епишкин А.П.

Москва 2006

Дано уравнение в виде , где некоторая функция переменной . Число называется корнем или решением данного уравнения, если при подстановке в уравнение последнее обращается в тождество. . Число называют также нулем функции .

В общем случае уравнение может иметь одно или несколько корней, как действительных, так и комплексных. Нахождение действительных корней с заданной точностью можно разбить на два этапа. Сначала корни отделяются, т.е. определяются отрезки, которые содержат по одному корню уравнения, а затем вычисляются с требуемой точностью . Отделение корней уравнения , в области определения, непрерывной функции, можно осуществлять несколькими способами:

  1. Табулированием - составлением таблицы из равноотстоящих значений независимой переменной и соответствующих значений функции и определение отрезков в которых смежные значения функции имеют различные знаки и следовательно содержат нулевые значения функции.

  2. Построением графика функции. Определение минимальных отрезков, включающих точки пересечения графика функции с осью 0x.

Уточнение корня на отрезке , в котором локализован только один корень, осуществляется итерационными методами, в которых последовательно, шаг за шагом, производится уточнение начального приближения корня. Итерацией называется совокупность вычислительных операций, приводящих к новому приближенному значению корня. Если каждое последующее значение находится все ближе к точному значению, говорят, что метод сходится. В противном случае метод расходится. Поэтому возникает необходимость исследования сходимости итерационного метода.

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

, где За начальное приближение принимают значение внутри заданного отрезка. Все методы уточнения корней различаются способами вычисления поправки .

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

В этом методе на каждой итерации отрезок содержащий корень делится пополам и за новый отрезок для уточнения принимается одна из половин.

Алгоритм:

1. Задаем функцию, отрезок и точность .

2. За начальное приближение принимаем левую границу отрезка , т.е.

3. Вычисляем поправку и новое приближение

4. Если, то – корень.

5. В противном случае, определяем новый отрезок . Проверяем, если , то и , иначе , то и . Далее проверяем условие окончания, если, то за ответ принимаем значение равное и переходим на пункт 6, иначе переходим на пункт 2.

6. Выводим и .

Блок-схема:

Метод Ньютона или касательных.

В этом методе, на каждой итерации, за новое приближение к корню принимается точка пересечения касательной к графику, построенной в точке с осью . За начальное приближение к корню принимаем одну из границ отрезка , содержащего один корень. Если новое приближение выходит за границы интервала, то надо выбрать новое начальное приближение и если это не помогает надо попробовать уменьшить отрезок поиска в два раза и повторить поиск методом Ньютона.

Алгоритм.

1. Задаем функцию , отрезок и точность . За начальное приближение принимаем одну из границ заданного отрезка .

2. Вычисляем приращение значение шага , как и новое приближение, как .

3. Проверяем если , то и повторяем с пункта 2.

4. Иначе проверяем условие окончания, если , то выводим последнее значение и . Иначе перейдем на пункт 2

Блок-схема

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

Пусть задано нелинейное уравнение и отрезок , который включает корень данного уравнения, т.е. и точность , с которой требуется уточнить значения корня.

Преобразуем исходное уравнение к эквивалентному виду . Последовательность будем называть итерационной, где выражается через элемент по рекуррентной формуле , т.е. , , за принимают любое число на заданном отрезке . Говорят, что итерационный метод сходится, если последовательность имеет предел при . Для определения условия сходимости определим и применим теорему о среднем, тогда . Необходимо чтобы модуль разности был меньше чем , а это справедливо только при , т.е. максимальная

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

Общий подход для получения итерационной формулы : помножим обе части уравнения на множитель , получим и прибавим к обеим частям по . Окончательная итерационная формула будет иметь вид . Функция: ; ее производная: ;

;

;

.

Мы должны выбрать максимальную по модулю производную на заданном отрезке. Тогда, если , то , иначе .

Блок-схема:

Программа по методу половинного деления

Option Explicit

Function F(X As Single) As Single

F = -33,065 – 2,823 * X + 5,425 * X ^ 2 + X ^ 3

End Function

Sub MPD ()

Dim c!, F1!, F2!, X1!, X2!, a!, b!, e!, i%

a = Cells (1, 2)

b = Cells (2, 2)

e = Cells (3, 2)

X1 = a

X2 = b

i = 0

Do Until X2 - X1 <= e

c = (X2 + X1) / 2

F1 = F(X1)

F2 = F(c)

If F1 * F2 < 0 Then

X2 = c

Else

X1 = c

End If

i = i + 1

Loop

Cells (5, 2) = "X ="

Cells (5, 3) = (X2 + X1) / 2

Cells (6, 2) = "F(X) ="

Cells (6, 3) = F(c)

Cells (7, 2) = "i ="

Cells (7, 3) = i

End Sub

Ответ: на отрезке [-2.5;-2]

на отрезке [3; 3.5]

на отрезке [4; 4.5]

Программа по методу Ньютона или касательных

Option Explicit

Function F(X As Single) As Single

F = -33,065 – 2,823 * X + 5,425 * X ^ 2 + X ^ 3

End Function

Function F1(X As Single, dx As Single) As Single

F1 = (F(X + dx) - F(X)) / dx

End Function

Sub Kasat()

Dim h!, X!, X_next!, a!, b!, e!, i%, dx!

a = Cells (1, 2)

b = Cells (2, 2)

e = Cells (3, 2)

dx = Cells (4, 2)

i = 0

If F (a) > 0 Then

X_next = a

Else

X_next = b

End If

Do

X = X_next

h = -F(X) / F1(X, dx)

X_next = X + h

i = i + 1

Loop Until Abs(X - X_next) < = e

Cells (5, 2) = "X ="

Cells (5, 3) = X_next

Cells (6, 2) = "F(X) ="

Cells (6, 3) = F (X_next)

Cells (7, 2) = "i="

Cells (7, 3) = i

End Sub

Ответ: на отрезке [-2.5; -2]

на отрезке [3; 3.5]

на отрезке [4; 4.5]