Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Вычисление производной по определениюСтр 1 из 8Следующая ⇒
Численное дифференцирование
Производной функции y=f(x) в точке x0 называется предел отношения приращения функции D y к приращению аргумента D x при стремлении D x к нулю: . Если · производную от функции в данной точке аналитически найти не удается либо · вычисление производной слишком громоздко или занимает очень много времени либо · функция f(x) задана на конечном множестве точек { xi } (i=0, 1, …, n), то необходимо перейти к численному дифференцированию. Вычисление производной по определению Вычисление производной по определению применяется, когда известно аналитическое выражение функции y=f(x). Пусть функция y=f(x) определена в некоторой окрестности точки x0 и имеет производную в этой точке, т.е. , Где D x=x – x0, D y=f(x0+ D x) – f(x0) Значение производной функции y=f(x) в точке x0 получим, рассматривая последовательность , где (D x)0 – некоторое начальное приращение аргумента; a – некоторое число a > 1; n = 0, 1, … Значение производной примет вид: , где , откуда получим: . Оценим точность приближения. Пусть функция y=f(x) имеет непрерывную производную до второго порядка включительно в окрестности точки x0. По формуле Тейлора , откуда , где – максимальное значение производной на (x, x0). Окончательно получим: , где Для достижения заданной степени точности ε при вычислении производной можно использовать неравенство: и, соответственно, последний результат принимают в качестве производной функции, вычисленной в точке x с заданной степенью точности. Блок-схема вычисления производной по определению:
Программа вычисления производной по определению
program deriveFunction; uses Crt; const a=10; var deltaX, der1, der2, e, e1, x: real;
function F(x: real): real; begin f: =sin(x); end;
{ *** Вычисление производной по определению *** } function derivF(x, deltaX: real): real; begin derivF: =(f(x+deltaX)-f(x))/deltaX; end;
BEGIN ClrScr; writeln('Введите значение х и точность epsilon'); readln(x, e); deltaX: =0.1; der1: =derivF(x, deltaX); repeat deltaX: =deltaX/a; der2: =derivF(x, deltaX); e1: =abs(der1-der2); der1: =der2; until e1< e; writeln('x = ', x: 4: 2, ' производная = ', der2: 10: 6); writeln('Погрешность приближения = ', e1); readln END.
|