Исследование функции и её производной

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 17.12.2015
Размер файла 284,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

"Пермский национальный исследовательский политехнический университет"

Кафедра "Материалы, технологии и конструирование машин"

Курсовая работа

по дисциплине "Информационные технологии"

на тему "Исследование функции"

Выполнил:

студент гр. ТАМП-13 Куприянов А.А.

Проверил: преподаватель П.Н. Килина

Пермь, 2014

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

1.1 Математическое описание методов нахождения корней уравнения

1.1.1 Метод дихотомии

Этот алгоритм основан на том наблюдении, что график непрерывной функции должен пересечь ось абсцисс между двумя точками a и b как минимум один раз, если значения функции имеют в этих точках разные знаки (рис. 1).

Рисунок 1 - Первая итерация метода дихотомии: x1 - средняя точка отрезка [a,b]

На этом наблюдении, основан алгоритм решения уравнения, называющийся методом дихотомии или методом деления пополам. Начиная с отрезка [a,b] на концах которого f(x) имеет разные знаки, алгоритм вычисляет среднюю точку

xmid=(a+b)/2.

Если f(xmid)=0, корень найден, и алгоритм завершает работу. В противном случае он продолжает поиск корня либо на отрезке [a,xmid], либо на отрезке [xmid,b] - в зависимости от того, на какой из двух половин отрезка функция f(x) имеет разные знаки на концах нового отрезка.

Поскольку мы не можем ожидать, что алгоритм "наткнется" на точное решение уравнения и завершит работу, нужен иной критерий для его завершения. Можно остановиться, когда отрезок [an,bn], содержащий некоторый корень x*, станет столь мал, что можно гарантировать, что абсолютная ошибка приближения x* величиной xn (средней точкой отрезка) меньше некоторого заранее выбранного значения е>0. Поскольку xn - средняя точка отрезка [an,bn] и x* лежит внутри этого отрезка мы имеем

Следовательно, мы можем завершать работу алгоритма, как только (bn - an)/2<е, или, что то же самое,

Нетрудно доказать, что

Из этого неравенства следует, что последовательность приближений {xn} может быть сделана сколь угодной близкой к x* выбором достаточно большого значения n. Другими словами, мы можем сказать, что {xn} сходится к корню x*.

С помощью неравенства (3) можно заранее определить количество итераций, достаточное для достижения требуемой степени точности. Выбрав n достаточно большим, что бы выполнялось неравенство (b1 - a1)/2n<е, т.е.

,

мы получим достаточное для обеспечения заданной точности количество итераций.

Основной недостаток метода деления пополам в качестве алгоритма общего назначения для решения уравнений заключается в его низкой скорости сходимости по сравнению с другими известными методами. Кроме того, его нельзя распространить на уравнения более общего вида и на системы уравнений. Однако у этого метода имеются и сильные стороны. Он всегда сходится к корню, каким бы ни был начальный отрезок. Этот метод не использует производную функции f(x), как это делают некоторые более быстрые методы.

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

Метод Ньютона или метод касательных, именуемый также методом Ньютона-Рафсона, представляет собой один из наиболее важных алгоритмов общего назначения для решения уравнений. Его применение к решению уравнения с одним неизвестным проиллюстрировано на рис. 2: очередной элемент xn+1 последовательности приближений получается как пересечение касательной к графику функции f(x) в точке xn с осью абсцисс.

Рисунок 2 - Интерация метода Ньютона

Аналитическая формула для элементов последовательности приближений метода Ньютона выглядит следующим образом:

для n=0,1,….

В большинстве случаев метод Ньютона гарантирует сходимость последовательности (5), если начальное приближение x0 выбрано "достаточно близко" к корню. Последовательность может сходиться и при далеком от корня начальном приближении, но это выполняется не всегда.

1.1.3 Метод хорд (секущих)

Метод секущих, известный также по его названию на латыни - regula falsi, как и алгоритм деления пополам, на каждой итерации он получает некоторый отрезок [an,bn], содержащий корень непрерывной функции f(x), которая имеет значения противоположных знаков в точках an и bn. В отличие от метода деления пополам очередное приближение вычисляется не как средина отрезка [an,bn], а как точка пересечения оси абсцисс с прямой линией, проведенной через точки (an,f(an)) и (bn,f(bn)) (рис. 3).

Рисунок 3 - Интерация метода секущих

Формула для точки пересечения выглядит следующим образом:

.

1.2 Математическое описание методов нахождения определенного интеграла

1.2.1 Метод правых прямоугольников

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

Рисунок 4 - Графическое изображение метода правых прямоугольников

Если отрезок [a,b] является элементарным и не подвергается дальнейшему разбиению, значение интеграла можно найти по формуле:

В случае разбиения отрезка интегрирования на n элементарных отрезков, формула (7) применяется на каждом из этих элементарных отрезков между двумя соседними узлами. В результате, получается составная квадратурная формула:

2. Практическая часть

Для функции разработать и протестировать программу, выполняющую:

табулирование функции на отрезке [a; b] с шагом h;

нахождение точек локальных экстремумов;

нахождение всех действительных корней уравнения на отрезке [a; b], если таковые имеются (решение соответствующего уравнения выполнить с точностью до e=0,0001 одним из численных методов: дихотомии, хорд, касательных) не более чем за 20 итераций.

вычисление определенного интеграла f(x) на интервале табулирования [a; b] одним из перечисленных методов: правых прямоугольников, средних прямоугольников, левых прямоугольников, трапеций, Симпсона;

построение графика заданной функции;

построение графика производной заданной функции;

F(x)

На отрезке

Метод для задания № 3

Метод для задания № 4

F(x)=x5 - 7 * - 2 * x3 + 46 * x2 + 65 * x + 25

[-3, 6]

хорд

пр. прямоуг.

2.1 Табулирование функции на отрезке [a; b] с шагом h

Program Kursovaya1;

var x,q,h,a,b:real;

Begin

writeln('Введите границы интервала');

readln(a,b);

writeln('Введите шаг h');

readln(h);

x:=a;

while x<=b do

begin

q:=power(x,5) -7*power(x,4) - 2*power(x,3) +46*power(x,2)+65*x+25;

writeln('x=',x);

writeln('q(x)=',q);

x:=x+h;;

end;

end.

Введите границы интервала функции

-3 6

Введите шаг h

1

x=-3

q(x)=-512

x=-2

q(x)=-49

x=-1

q(x)=0

x=0

q(x)=25

x=1

q(x)=128

x=2

q(x)=243

x=3

q(x)=256

x=4

q(x)=125

x=5

q(x)=0

x=6

q(x)=343

Размещено на http://www.allbest.ru/

2.2 Нахождение точек локальных экстремумов

Program Kursovaya2;

var x,q,h,a,b:real;

Begin

writeln('Введите границы интервала функции');

readln(a,b);

writeln('Введите шаг h');

readln(h);

x:=a;

while x<=b do begin

q:=5*power(x,4)-28*power(x,3)-6*sqr(x)+92*x+65;

if q=0 then begin writeln('x=',x); x:=x+h; writeln('q(x)=',q)end else

x:=x+h;

end.

Введите границы интервала функции

-3 6

Введите шаг h

1

x=-1

q(x)=0

x=5

q(x)=0

2.3 Нахождение всех действительных корней уравнения методом хорд

Корень= -1.00

Отрезок с корнем (-1.00;-1.00)

Корень= 5.00

Отрезок с корнем (5.00;5.00)

число итераций = 2

Program kursovaya3;

var x,h,z,a,b,e:real;

function F(x:real):real;

begin

F:=power(x,5)-7*power(x,4)-2*power(x,3)+46*power(x,2)+65*x+25;

end;

function dF(x:real):real;

begin

dF:=5*power(x,4)+28*power(x,3)-6*power(x,2)+92*x+65;

end;

procedure koren (x0,x2,e:real);

var x1,k,b,t:real;

begin

repeat

x1:=x0;

k:=(f(x2)-f(x1))/(x2-x1);

b:=f(x2)-k*x2;

x0:=-b/k;

t:=t+1;

until (abs(x1-x0)<e)or(t>=20);

writeln('Корень= ',x0:2:2);

end;

begin

a:=-3;

b:=6;

e:=0.0001;

h:=0.5;

x:=a;

while x<=b do

begin

if

(f(x)*f(x+h)<=0)and(dF(x)*dF(x+h)>0) then

begin

z:=z+1;

koren(x-h,x+h,e);

writeln('Отрезок с корнем (',x-h:2:2,';',x+h:2:2,')');

Writeln(' ')

end;

x:=x+h;

end;

Writeln('число итераций = ',z);

end.

2.4 Вычисление определенного интеграла методом правых прямоугольников

program Kursovaya4;

var a,b,j,h:real; n,i:integer;

function F(x:real):real;

begin

F:=power(x,5)-7*power(x,4)-2*power(x,3)+46*power(x,2)+65*x+25;

end;

begin

a:=-3;

b:=6;

i:=10000;

j:=0;

h:=(b-a)/i;

for n:=0 to i-1 do

j:=j+F(a+n*h);

j:=j*h;

Writeln('Площадь трапеции на интервале [-3;6] = ',j:2:2);

end.

Площадь трапеции а интервале [-3;6] = 648.52

Размещено на http://www.allbest.ru/

2.5 Построение графика заданной функции (и её производной)

Размещено на http://www.allbest.ru/

математический уравнение интеграл ньютон

Program Kursovayagraph;

uses graphABC;

var xc,yc,i:integer; a,b,dx,hy,hx,x,maxY,minY,mx,my,py,px:real; s:string;

function F(x:real):real;

begin

F:=power(x,5)-7*power(x,4)-2*power(x,3)+46*power(x,2)+65*x+25;

end;

function dF(x:real):real;

begin

dF:=5*power(x,4)-28*power(x,3)-6*power(x,2)+92*x+65;

end;

begin

SetWindowCaption ('График функции и её производной');

writeln('Введите границы интервала функции');

ClearWindow;

readln(a,b);

xc:=WindowWidth div 2;

yc:=WindowHeight div 2;

line(0,yc,WindowWidth,yc);

line(xc,0,xc,WindowHeight);

dx:=0.1;

x:=a;

maxY:=F(a); minY:=F(a);

while x<=b do

begin

if F(x)>maxY then maxY:=F(x);

if F(x)<minY then minY:=F(x);

if dF(x)>py then py:=dF(x);

if dF(x)<px then px:=dF(x);

x:=x+dx;

end;

writeln('max значение функции = ',minY:4:2);

writeln('min значение функции = ',maxY:4:2);

if py>maxY then maxY:=py;

if px<minY then minY:=px;

if abs(maxY)>abs(minY)then hy:=abs(maxY) else hy:=abs(minY);

if abs(a)>abs(b)then hx:=abs(a) else hx:=abs(b);

mx:=(xc-10)/hx;

my:=(yc-10)/hy;

for i:=1 to round(hx) do

begin

line (xc+round(i*mx),yc-3,xc+round(i*mx),yc+3);

line (xc-round(i*mx),yc-3,xc-round(i*mx),yc+3);

str(i,s);

textout(xc+round(i*mx),yc+10,s);

textout(xc-round(i*mx),yc+10,'-'+s);

end;

i:=round(abs(hy)/7);

while i<=hy+1 do

begin

line (xc-3,yc-round(i*my),xc+3,yc-round(i*my));

line(xc-3,yc+round(i*my),xc+3,yc+round(i*my));

str(i,s);

textout(xc-50,yc-round(i*my),s);

textout(xc-50,yc+round(i*my),'-'+s);

i:=i+round(abs(hy)/7);

end;

textout(xc-15,yc+5,'0');

x:=a;

dx:=0.001;

while x<=b do

begin

if abs(F(x)*my)<WindowHeight div 2

then setpixel (xc+round(x*mx),yc-round(F(x)*my),clgreen);

if abs(dF(x)*my)<WindowHeight div 2

then setpixel (xc+round(x*mx),yc-round(dF(x)*my),clBlue);

x:=x+dx;

end;

line(775,8,795,8,clgreen);

line(775,28,795,28,clBlue);

textout (802,0,'График функции');

textout (802,20,'График производной функции');

end.

Список литературы

1. Левитин, А. В. (2006). Алгоритмы: введение в разработку и анализ. (С. Тригуб, Ред.) Москва: Вильямс.

Размещено на Allbest.ru


Подобные документы

  • Построение графика функции. Поиск корней уравнения методом половинного деления. Определение минимума функции методом перебора и значения аргумента. Вычисление определенного интеграла на заданном отрезке с использованием метода правых прямоугольников.

    контрольная работа [316,1 K], добавлен 13.11.2014

  • Метод хорд решения нелинейных уравнений. Вычисление интеграла методом Симпсона. Процесс численного решения уравнения. Окно программы расчета корней уравнения методом хорд. Алгоритм вычисления интеграла в виде блок-схемы. Выбор алгоритма для вычислений.

    курсовая работа [832,6 K], добавлен 24.07.2012

  • Проверить условие сходимости и записать расчетные формулы для нахождения корня уравнения. Составить блок-схему алгоритма, программу решения задачи. Вычисления определенного интеграла методом Симпсона. Построить график функции Y=1/sqr(3sin(x)+2cos(x)).

    курсовая работа [29,6 K], добавлен 02.10.2008

  • Определение недостатков итерационного численного способа нахождения корня заданной функции (метод Ньютона). Рассмотрение основ математического и алгоритмического решения поставленной задачи, ее функциональной модели, блок-схемы и программной реализации.

    курсовая работа [364,8 K], добавлен 25.01.2010

  • Методика и основные этапы процесса поиска уравнения по методу половинного деления, его сущность и содержание, анализ результатов. Порядок вычисления экстремумов функции методом перебора. Расчет определенного интеграла по методу правых прямоугольников.

    контрольная работа [200,9 K], добавлен 20.01.2014

  • Аппроксимация линейной, степенной и квадратичной функции. Определение корней уравнения вида f(x)=0 методом половинного деления. Вычисление определенного интеграла методом прямоугольников, трапеций, парабол и Эйлера. Интерполяция формулой Лагранжа.

    курсовая работа [1,3 M], добавлен 21.09.2011

  • Создание приложения, демонстрирующего решение нелинейного уравнения методом хорд, вычисление интеграла методом Симпсона. Характеристика системы программирования. Разработка мощных систем для работы с локальными и удаленными базами данных с помощью Delphi.

    дипломная работа [846,0 K], добавлен 22.09.2012

  • Определение корней заданного уравнения графическим методом с применением прикладного программного средства MathCAD. Построение графика при помощи программы MS Excel. Геометрическая интерпретация метода для данного уравнения, определение интервалов.

    контрольная работа [93,0 K], добавлен 20.08.2013

  • Особенности точных и итерационных методов решения нелинейных уравнений. Последовательность процесса нахождения корня уравнения. Разработка программы для проверки решения нелинейных функций с помощью метода дихотомии (половинного деления) и метода хорд.

    курсовая работа [539,2 K], добавлен 15.06.2013

  • Математическое описание, алгоритм и программа вычисления нелинейного уравнения методом дихотомии. Метод половинного деления. Метод поиска корней функции. Написание текста программы с комментариями. Проведение тестовых расчетов. Вывод ответа на экран.

    курсовая работа [67,2 K], добавлен 15.02.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.