Автор работы: Пользователь скрыл имя, 18 Апреля 2015 в 15:07, курсовая работа
Уравнение типа F(x)=0 или x=f(x) называется нелинейным. Решить уравнение - это значит найти такое x, при котором уравнение превращается в тождество. В общем случае уравнение может иметь 0; 1; 2;...∞ корней. Рассмотренные ниже численные методы решения нелинейных уравнений позволяют находить один корень на заданном интервале [a,b]. Сразу оговоримся, что любой метод является приближенным, и по сути дела лишь уточняющим значение корня. Однако уточняющим до любой точности, заданной Нами.
Введение
. Теоретическая часть
.1 Метод половинного деления
.2 Метод хорд
. Постановка и решение задачи
.1 Формулировка задачи
.2 Решение уравнения методом половинного деления
.3 Решение уравнения методом хорд
. Программная реализация
.1 Блок-схемы
.2 Тексты программ
.3 Тестовый пример
.4 Решение задачи с помощью ЭВМ
Заключение
Список литературы
.25 > 0.01 - да
Полученная погрешность больше, следовательно, возвращаемся к началу цикла F(a)*F(c) <= 0. Затем выполняем цикл решения до тех пор, пока полученная погрешность не удовлетворит условию задачи.
3-й Шаг. Вычисление середины отрезка
с = (-2 + (-1.5))/2 = -1.75
F(a) = -12(c) = -3.734375
.8125 <= 0 - нет= c = -1.75
[-1.75;-1.5]
4-й Шаг. Вычисление погрешности
d = (-1.5 + 1.75)/2 = 0.125
.125 > 0.01 - да
5-й Шаг. Вычисление середины отрезка
c = (-1.75 + (-1.5))/2 = -1.625
F(a) = -3.734375
F(c) = -0.134766(a)*F(c) = -3.734375*(-0.134766) = 0.5032654
.5032654 <= 0 - нет= c = -1.625
[-1.625;-1.5]
6-й Шаг. Вычисление погрешности
d = (-1.5 + 1.625)/2 = 0.0625
.0625 > 0.01 - да
7-й Шаг. Вычисление середины отрезка
c = (-1.625 + (-1.5))/2 = -1.5625(a) = -0.134766(c) = 1.5368652(a)*F(c) = -0.134766*1.5368652 = -0.207117
.207117 <= 0 - да = c = -1.5625
[-1.625;-1.5625]
8-й Шаг. Вычисление погрешности
d = (-1.5625 + 1.625)/2 = 0.03125
.03125 > 0.01 - да
9-й Шаг. Вычисление середины отрезка
c = (-1.625 + (-1.5625))/2 = -1.59375(a) = -0.134766(c) = 0.7115784(a)*F(c) = -0.134766*0.7115784 = -0.095897
.095897 <= 0 - да = c = -1.59375
[-1.625;-1.59375]
10-й Шаг. Вычисление погрешности
d = (-1.59375 + 1.625)/2 = 0.015625
.015625 > 0.01 - да
11-й Шаг. Вычисление середины отрезка
c = (-1.625 + (-1.59375))/2 = -1.609375(a) = -0.134766(c) = 0.29105(a)*F(c) = -0.134766*0.29105 = -0.039224
.039224 <= 0 - да = c = -1.5625
[-1.625;-1.609375]
12-й Шаг. Вычисление погрешности
d = (-1.609375 + 1.625)/2 = 0.0078125
.0078125 > 0.01 - нет
x = (b + a)/2 = (-1.625 + (-1.609375))/2 = -1.6271875
Ответ: Значение корня x = -1.6271875 с погрешностью d = 0.0078125
2.3 Решение уравнения методом хорд
Нахождение корня уравнения методом хорд на примере уравнения на промежутке [-2;-1], с погрешностью ε =0.01.
1-й Шаг. Проверка условия
F(a)*F ̋ (a) >= 0
Для этого вычислим вторую производную
F ̋ (a) = 6*x - 12 = 6*(-2) - 12 = -12 - 12 = -24
F(a) = = -8 - 6*4 + 20 = -8 - 24 + 20 = -8 - 4 = -12
F(a)*F ̋ (a) = -12*(-24) = 288
Для нахождения минимума, вычислим первые производные промежутка [-2;-1], то есть найдем F΄(a) и F΄(b).
F΄(a) = = = 12 + 24 = 36
F΄(b) =
В данном случае минимум будет являться F΄(b), min = 15.
Проверим ранее полученное условие F(a)*F ̋ (a) >= 0.
Если 288 >= 0, то
c:= a = -2
x = -1
2-й Шаг.
Вычисляем значение у по формуле итерационной последовательности
y = (c*F(x) - x*F(c))/(F(x) - F(c))
-й Шаг. Вычисление погрешности
d = ²F(x)²/m
d = ²13²/15 = 0.8666
Цикл начинается с проверки погрешности полученной в ходе вычисления, с погрешностью, заданной по условию задачи. Продолжаем цикл до тех пор, пока не получим результаты, удовлетворяющие решение задачи требуемой погрешностью.
d >= ε
.8666 >= 0.01 - да
x:= y = -1.52
4-й Шаг.
.625792
5-й Шаг. Вычисление погрешности
d = ²2.625792²/15 = 0,1750528
.1750528 >= 0.01 - да
x:= y = -1.606175
6-й Шаг.
y = (-2*0.377604 - (-1.606175)*(-12))/(0.377604 - (-12)) = (-0.755208 - (19.2741))/12.377604 =-1.628189
7-й Шаг. Вычисление погрешности
d = ²0.377604²/15 = 0.0251736
.0251736 >= 0.01 - да
x:= y = -1.628189
8-й Шаг.
y = (-2*0.0515006 - (-1.618189)*(-12))/(0.0505006 - (-12)) = (12.763357 - 19.418268)/12.0505006 = -0.552252
9-й Шаг. Вычисление погрешности
d = ²0.0505006²/15 = 0.003667
.0033667 >= 0.01 - нет
x = -1.628189
d = 0.0033667
Ответ: Значение корня x = -1.628189 с погрешностью d = 0.0033667
3.
Программная реализация
Программа реализована для нахождения корня уравнения , методом половинного деления, корни которого находятся на промежутке [-2;1], с погрешностью ε=0.01.
unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TEdit;: TEdit;: TLabel;: TLabel;: TLabel;: TEdit;: TButton;: TEdit;Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;
{$R *.dfm}TForm1.Button1Click(
end.
Программа реализована для нахождения корня уравнения , методом половинного деления, корни которого находятся на промежутке [-2;1], с погрешностью ε=0.01.
unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TEdit;: TEdit;: TLabel;: TLabel;: TLabel;: TEdit;: TButton;: TEdit;Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;
{$R *.dfm}TForm1.Button1Click(
end;.
В качестве тестового примера возьмем уравнение x² - 1 = 0 на промежутке [0; 5] с точностью =0.0001
Рисунок 5. Результат работы программы (Метод половинного деления)
В качестве тестового примера возьмем уравнение x² - 1 = 0 на промежутке [0; 5] с точностью =0.0001
Рисунок 6. Результат работы программы (Метод хорд)
Значения, полученные в результате решения аналитически и программно - верны
При решении заданного уравнения на языке программирования Delphi 7 мы получаем следующие результаты, показанные на рисунке 6.
Рисунок 7. Результат работы программы (метод половинного деления)
При решении заданного уравнения на языке программирования Delphi 7 мы получаем следующие результаты, показанные на рисунке 7.
Рисунок 8. Результат работы программы (Метод хорд)
В ходе выполнения курсовой работы мы проделали ручной расчет заданной функции, выполнили расчет на языке программирования. Также мы выполнили тестовый пример для проверки методов решения нелинейных функций.
Программы написаны на языке Delphi 7 для нахождения значений интегралов. Полученные в результате работы программ решения приблизительно совпадают с ответами в примере.
Метод дихотомии прост в реализации, но обладает малой скоростью сходимости по сравнению с методом хорд, что выражается в количестве шагов. Метод хорд к тому же обладает большей точностью
Список литературы
1. Каханер Д., Моулер К., Нэш С. Численные методы и программное обеспечение (пер. с англ.). М.: Мир, 2001, 575 c.
2. Самарский А. А., Гулин А. В. Численные методы: Учеб. пособие для вузов. - М.: Наука. Гл. ред. физмат. лит., 1989. - 432 с.
3. Турчак Л.И. Основы численных методов. -М.: Наука, 1987.
4. http://www.osnpas.com/
Информация о работе Численные методы решения нелинейных уравнений, используемые в прикладных задачах