Нахождение с заданной точностью корня уравнения F(x)=0 на промежутке [a;b] методом касательных (Ньютона): Отчет по учебно-вычислительной практике

Страницы работы

19 страниц (Word-файл)

Содержание работы

Министерство образования Российской Федерации

Уральский государственный технический университет – УПИ

филиал в г. Краснотурьинске

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

ОТЧЕТ

по учебно-вычислительной практике

преподаватель:                                                                                   Мезенцева О.В.

студент:                                                                                               Бурлов А.С.

группа:                                                                                                Р-231КТ

2003

Задание

Тема:  «Нахождение с заданной точностью корня уравнения F(x)=0 на промежутке [a;b] методом касательных (Ньютона)»

Контрольный пример:  F(x)=0.9x^3-7x^2+5.9x+1.5 на [-1;8]

Условие задачи:

Для данной функции F(x) методом табулирования на интервале [a;b] локализовать корни уравнения F(x)=0 (т.е. выделить по возможности наименьшие отрезки, содержащие по одному корню). Найти эти корни методом касательных. Каждый корень вычислить дважды (с разной точностью). Все приближения к корню записывать в массив, который затем вывести на печать. Предусмотреть построение графика функции на заданном интервале.

Содержание

Введение……………………………………………………………………………4

1. Теоретическая часть…………………………………………………………….5

2. Описание структуры программы………………………………………………7

3. Входные и выходные данные………………………………………………….12

Заключение………………………………………………………………………..15

Приложение……………………………………………………………………….16

Введение

Цель работы: Изучить метод касательных (Ньютона) и составить программу, которая бы находила с заданной точностью корень F(x)=0.9x^3-7x^2+5.9x+1.5 на промежутке [a;b] методом касательных (Ньютона), а также построить график данной функции.

1. Теоретическая часть

Метод табулирования

Данный метод используется для локализации корней на заданном интервале и заключается в следующем:

1.  Определяются границы интервала [a;b], выбирается шаг изменения аргумента х заданной функции – h;

2.  Начальное значение аргумента – левая граница интервала (x1=h), за следующее значение аргумента – начальное значение  плюс шаг (x2=x1+h);

3.  Вычисляется значение функции от x1y1(x1);

4.  Проверяется, не превышает ли x2 правой границы интервала [а;b]; если нет, то вычисляется значение функции от x2y2(x2), иначе конец процесса;

5.  Проверяются знаки значений функции на границах отрезка [x1;x2], если знаки разные, то найденный отрезок содержит корень уравнения иначе нет;

6.  Переход к следующему отрезку: x1=x2, x2=x1+h, y1=y2 и на пункт №3.

Метод касательных (Ньютона)

В этом способе вместо хорд проводятся касательные и ищут пересечение оси Ох с касательной, проведённой к линии y=f(x) в одной точки А или В.

Геометрический смысл:

Выясним, в какой из двух точек А или В надо проводить касательную. Для этого разберём всевозможные варианты знаков f'(x) и f''(x):

считаем, что f'(x) и f''(x) сохраняют знаки (предполагается, что f'(x) – непрерывна и имеет непрерывные производные f'(x) и f''(x)).

1

2

3

4

+

возрастающая

+

возрастающая

-

убывающая

-

убывающая

выпуклость

вниз

+

вогнутость

вверх

Выпуклость вверх

 -

вогнутость

вниз

выпуклость

вниз

 +

вогнутость

вверх

выпуклость

вверх

 -

вогнутость

вниз


Из рисунков видно, что касательную нужно проводить в том из концов дуги АВ, в котором ордината f(x) имеет тот же знак, что и знак второй производной.

 – уравнение касательной, проведённой к кривой f(x) в точке с координатами с0 и f(с0).

Отсюда найдём следующие приближения корня с1, как абсциссу точки пересечения касательной с осью Ох (y=0).

Аналогично могут быть найдены и следующие приближения, как точки пересечения с осью абсцисс касательных, проведённых в следующих точках.

Формула для n-го приближения имеет вид:

          (f'(сn-1)≠0)

Для окончания итерационного процесса может быть использовано условие  или условие близости двух последних приближений: , где с0, c1, cn – приближения значения корня по недостатку.

2. Описание структуры программы

3. Входные и выходные данные

Входные:

Процедура zadanie:

f – файловая переменная

i – счетчик

mas – массив из элементов файла

Процедура graphik:

gd – № драйвера

gm – № режима

g – максимальное значение по оси Ох

v – максимальное значение по оси Оу

pox – половина максимального значения по оси Ох

poy – половина максимального значения по оси Оу

k – разметка цифрами по осям

mx – масштаб по оси Ох

my – масштаб по оси Оу

kx – число пикселей на единичном отрезке по Ох

ky – число пикселей на единичном отрезке по Оу

st – строковая переменная

x – приращение функции

Процедура reshenie:

a, b – границы отрезка

h – шаг табулирования

eps1, eps2 – точности расчета корней

kor – счетчик корней

x1, x2 – границы интервала, который может содержать корень уравнения

y1 – значение функции в точке х1

y2 – значение функции в точке х2

l, j – счетчики

c0 – приближение корня по недостатку

mas1 – массив из приближений к корню

c – корень уравнения

Программа:

cas - № пункта меню

Выходные:

введите границы интервала, шаг табулирования и точность расчета корней

a=-1

b=8

h=1

eps1=0.1

eps2=0.01

1-й корень при точности eps1=0.1000 -0.20497419

все приближения к этому корню

mas1[1]=-0.45575221

mas1[2]=-0.24330517

mas1[3]=-0.20497419

1-й корень при точности eps2=0.0100 -0.20371344

все приближения к этому корню

mas1[1]=-0.45575221

mas1[2]=-0.24330517

mas1[3]=-0.20497419

mas1[4]=-0.20371344

2-й корень при точности eps1=0.1000 1.20786678

все приближения к этому корню

mas1[1]=1.33628319

mas1[2]=1.21508491

mas1[3]=1.20786678

2-й корень при точности eps2=0.0100 1.20786678

все приближения к этому корню

mas1[1]=1.33628319

mas1[2]=1.21508491

mas1[3]=1.20786678

3-й корень при точности eps1=0.1000 6.77372179

все приближения к этому корню

mas1[1]=6.78855721

mas1[2]=6.77372179

3-й корень при точности eps2=0.0100 6.77365054

все приближения к этому корню

mas1[1]=6.78855721

mas1[2]=6.77372179

mas1[3]=6.77365054

Заключение

В результате проделанной работы я составил программу, позволяющую на заданном интервале [a,b] локализовать корни уравнения F(x)=0, найти их с заданной точностью методом касательных (Ньютона), построить график функции. Сопоставив результаты, полученные графическим и аналитическим способами, можно заметить, что они практически совпадают.

Похожие материалы

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