1150

Табулирование трансцендентных функций

Практическая работа

Информатика, кибернетика и программирование

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

Русский

2013-01-06

460 KB

184 чел.

КАЗАНСКИЙ (ПРИВОЛЖСКИЙ) ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ

ИНСТИТУТ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Семестровая работа по численным методам

на тему “Табулирование трансцендентных функций”.

Вариант №10.

                                                                                   Работу выполнил:

                                                                                        Студент 3-го курса

                                                                                        Группы 993а

                                                             Сайфутдинов И.Г.

Работу проверила:

Гнеденкова В.Л.

Казань, 2012

Постановка задачи.

               Одна из специальных функций математической физики – интегральный синус, определяется следующим образом

                Цель задания – изучить и сравнить различные способы приближенного вычисления этой функции.

Для этого:

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

,
где , , , , и получить, таким образом, таблицу

, , .

  1.  По приближенной таблице значений построить интерполяционный полином Ньютона, приближающий :

и вычислить погрешность интерполирования

, .

В качестве узлов интерполяции взять:

Равномерно распределенные узлы  

Корни полинома Чебышева, вычисляемые по формуле:

,  

 

  1.  На той же сетке узлов  построить таблицу приближенных значений , используя формулу

, где:

  1.   (составная квадратурная формула трапеций),
    1.   (формула Гаусса),
    2.   (формула Симпсона),
    3.  (формула правых прямоугольников),

а  - точки разбиения отрезка интегрирования на N частей, , .

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

,  .

  1.  Построить таблицу обратной к  функции

решая уравнения ,  ,  ,  следующим итерационным методом : решение уравнения  находится по формуле

,  где .

В качестве начального приближения  к точке  взять .

Решение задачи

Задание 1.

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

,
где , , , , и получить, таким образом, таблицу

, , .

Рассмотрим функцию . Разложим подынтегральную функцию в ряд  Тейлора в окрестности точки 0.

и проинтегрируем полученный ряд.  .

 Докажем, что степенной ряд  сходится.

Для этого сначала найдем радиус сходимости ряда : , где .

Имеем: .

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

           При вычислении ряда Тейлора  будем учитывать, что каждый последующий член ряда  получается из предыдущего  умножением на некоторую величину , т.е. . Это позволит избежать переполнения при вычислении факториалов, встречающихся в рассматриваемом ряде. Итак, найдём :

.

         Табулирование  на отрезке  с шагом h с точностью  реализуется с помощью функции, параметрами которой являются: точка х, в которой вычисляется значение функции,  и глобальная переменная - точность табулирования eps .

CONST eps=0.000001;

 function si(x:real):real;

 var f,s,g:real;i:integer;

 begin

 i:=0;s:=0;f:=x; g:=5; s:=0;

while abs(f)>=eps do

 begin

      s:=s+f;

      f:=-f*x*x*(2*i+1)/((2*i+2)*(2*i+3)*(2*i+3));

      inc(i);

 end;

   si:=s;

 end;

Протабулировав функцию , получим результаты (здесь N=10- число разбиений):

f(  0)= 0,

f(0.4) =   0.396462,

f(0.8)=    0.772096,

f(1.2) =   1.108047,

f(1.6) =   1.389181,

f(2.0) =   1.605413,

f(2.4) =   1.752486,

f(2.8) =   1.832097,

f(3.2) =   1.851401,

f(3.6) =  1.821948,

f(4.0) =  1.758203,

Задание 2.

По приближенной таблице значений построить интерполяционный полином Ньютона, приближающий :

и вычислить погрешность интерполирования

, .

В качестве узлов интерполяции взять:

Равномерно распределенные узлы  

Корни полинома Чебышева, вычисляемые по формуле:

,  

Разделенные разности  в формуле Ньютона будем вычислять по следующему алгоритму.

Для  вычислим , .

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

         Вычисление реализуем с помощью функции L(x:real;y,f:tmas;n:integer), параметрами которой являются точка x, в которой вычисляется полином, массив узлов интерполяции x[n], массив значений функции в этих узлах f[n],  число узлов интерполяции (n+1) .

function L(x:real;f,y:tmas;n:integer):real;

var  i,j,p:integer;k,s,g,t:real;

begin

i:=1; k:=1;s:=f[0];t:=1;   g:=1;

while i<=n do

 begin

 j:=n;

 while j>=i do

   begin

   f[j]:=(f[j]-f[j-1])/(y[j]-y[j-i]);

   dec(j);

   end;

 k:=k*(x-y[i-1]);

 s:=s+k*f[i];

 inc(i);

 end;

result:=s;

end;

           Вычислим полином  в 21 точке. Сначала в качестве узлов интерполяции возьмем 9 равномерно распределенных узлов.  Посмотрим какое значение получилось у полинома L, у функции Si и найдём максимальную погрешность из всех погрешностей для каждой точки:

Максимальная погрешность в этом случае равна  0.00000203.

Теперь в качестве узлов интерполяции возьмем корни полинома Чебышева, вычисляемые по формуле: ,  . (n=8). Также найдём значение функции в каждой точке и значение полинома, вычислим максимальную погрешность в этом случае:

В этом случае максимальная погрешность равна  0.00000095.

Построим графики функции погрешностей  для 9 равномерно распределенных узлов и узлов-корней полинома Чебышева.

Продолжим наш эксперимент. Возьмем 11 равномерно распределенных  узлов, будем вычислять полином в тех же точках.

В этом случае максимальная погрешность равна  0.00000148.

Вычислим полином в этих же точках, но в качестве узлов возьмем корни полинома Чебышева(n=10)

В этом случае максимальная погрешность равна  0.00000082.

Построим графики погрешностей.

           

Продолжим наши вычисления. Возьмем 33 равномерно распределенных  узла, будем вычислять полином в тех же точках .


В этом случае максимальная погрешность равна  0.01961043.

Вычислим полином в этих же точках, но в качестве узлов возьмем корни полинома Чебышева(n=32).

Максимальная погрешность в этом случае равна  0.00000088. Построим графики погрешностей.

Теперь вычислим полином  в 41 точке. В качестве узлов интерполяции возьмем 33 равномерно распределенных узла.  Посмотрим какое значение получилось у полинома L, у функции Si и найдём максимальную погрешность из всех погрешностей для каждой точки:

Максимальная погрешность в этом случае равна 0.11387926.

Вычислим полином в тех же точках,  но в качестве узлов возьмем корни полинома Чебышева(n=32).

Максимальная погрешность в этом случае равна 0.00000088.

Построим графики погрешностей.

Попробуем найти такое n, при котором , при выборе в качестве  узлов интерполяции корней полинома Чебышева , погрешность будет большой, т.е. на 2 или 3 знаке после запятой значение  полинома будет отличной от значения функции Si .  Проводя эксперименты, получим, что при n примерно равном 45 погрешность начинает увеличиваться.  Построим таблицу значений и график погрешностей для n=45.

Максимальная погрешность в этом случае равна 0.00220518.

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

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

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

Возьмем в качестве узлов интерполяции 11 корней полинома Чебышева и вычислим полином  в 21 точке.

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

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

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

        Из проделанных экспериментов и полученных результатов мы видим, что, если в качестве узлов интерполяции брать корни полинома Чебышева, то получаем, что погрешность вычисления полинома намного меньше, чем при равномерно распределенных узлах. Из теории узнаём, что действительно, такой выбор узлов должен обеспечить максимально точное вычисление полинома.  Также  полученные результаты показали, что с увеличением числа равномерно отстоящих узлов интерполяции увеличивается точность вычисления полинома, но только до определенного момента, а потом точность начинает ухудшаться.  При этом  погрешность вблизи концов рассматриваемого отрезка резко увеличивается, а в середине отрезка погрешность меньше на 1-3 порядка.  Что же касается корней полинома Чебышева, то и здесь при достижении определенного n точность ухудшается, а до достижения этого  n точность очень хорошая, где n-кол-во корней, сколько мы берем для интерполяционного полинома. В нашем случае n примерно равно 45.  При вычислении полинома вне отрезка, не смотря на то, что мы возьмем в качестве узлов интерполяции – погрешность большая, но скорость возрастания погрешности больше если мы возьмем  в качестве узлов интерполяции равномерно отстоящие друг от друга узлы.

Задание 3.

На той же сетке узлов  построить таблицу приближенных значений , используя формулу

, где:

  1.   (составная квадратурная формула трапеций),
    1.   (формула Гаусса),
    2.   (формула Симпсона),
    3.  (формула правых прямоугольников),

а  - точки разбиения отрезка интегрирования на N частей, , .

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

,  .

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

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

Формула трапеций реализуется с помощью функции inttrap(x:real;n:integer) параметрами которой являются : х- точка, в которой вычисляется интеграл, n- число разбиений отрезка интегрирования [0, x].(*)

function inttrap(x:real;n:integer):real ;

var h,sum:real; i:integer;

begin

if (x<>=0) then begin

h:=x/n;

//здесь учитываем особенность в нуле , при i=1, до начала цикла, а начиная c i=2 действуем //согласно выше описанному алгоритму.

sum:=sin(h)/h+1;i:=2;

while (i<=n) do begin

sum:=sum+sin(i*h)/(i*h)+sin((i-1)*h)/((i-1)*h);

inc(i);

end;

result:=sum*h/2;

end

eslse result:=0;

end;

Получим результат:

0:     si=0                     inttrap =0 (N=0)

0.4:  si= 0.3964615   inttrap = 0.3963521 (N=4)

0.8:  si= 0.7720957   inttrap = 0.7720437 (N=16)

1.2:  si= 1.1080472   inttrap = 1.1080067 (N=32)

1.6:  si= 1.3891809   inttrap = 1.3890953 (N=32)

2.0:  si= 1.6054129   inttrap = 1.6053775 (N=64)

2.4:  si= 1.7524855   inttrap = 1.7524358 (N=64)

2.8:  si= 1.8320968   inttrap = 1.8320361 (N=64)

3.2:  si= 1.8514008   inttrap = 1.8513371 (N=64)

3.6:  si= 1.8219477   inttrap = 1.8218914 (N=64)

4.0:  si= 1.7582033   inttrap = 1.7581653 (N=64)

Формула правых прямоугольников реализуется следующей функцией (описание такое же как и в (*)):

Здесь не надо учитывать особенность подынтегральной функции в нуле.

function intpryam(x:real;n:integer):real;

var del,sum,xx:real; i:integer;

begin

if (x<>=0) then begin

del:=x/n;

sum:=0;

i:=1;

xx:=0;

while i<=(n) do begin

xx:=xx+del;

sum:=sum+sin(xx)/xx;

i:=i+1;

end;

result:=del*sum;

end

else result:=0;

end;

Получим результат:

0:     si=0                      intpryam =0 (N=0)

0.4:  si= 0.3964615   intpryam = 0.3962944 (N=32)

0.8:  si= 0.7720957   intpryam = 0.7719342 (N=256)

1.2:  si= 1.1080472   intpryam = 1.1079163 (N=1024)

1.6:  si= 1.3891809   intpryam = 1.3890339 (N=2048)

2.0:  si= 1.6054129   intpryam = 1.6052798 (N=4096)

2.4:  si= 1.7524855   intpryam = 1.7523802 (N=8192)

2.8:  si= 1.8320968   intpryam = 1.8319461 (N=8192)

3.2:  si= 1.8514008   intpryam = 1.8512020 (N=8192)

3.6:  si= 1.8219477   intpryam = 1.8218247 (N=16384)

4.0:  si= 1.7582033   intpryam = 1.7580580 (N=16384)

Формула Гаусса реализуется следующей функцией (описание такое же как и в (*)):

Здесь не надо учитывать особенность подынтегральной функции в нуле.

function intgauss(x:real;n:integer):real;

var  i:integer;h,sum:real;

begin

if (x<>=0) then begin

h:=x/n;

sum:=0;

i:=1;

while (i<=n) do begin

sum:=sum+sin((i-1)*h+h/2*(1-1/sqrt(3)))/((i-1)*h+h/2*(1-1/sqrt(3)))+sin((i-1)*h+h/2*(1+1/sqrt(3)))/((i-1)*h+h/2*(1+1/sqrt(3)));

inc(i);

end;

result:=sum*h/2;

end

else result:=0;

end;

Получим результат:

0:     si=0                    intgauss =0 (N=0)

0.4:  si= 0.3964615   intgauss = 0.3964615 (N=4)

0.8:  si= 0.7720957   intgauss = 0.7720957 (N=4)

1.2:  si= 1.1080472   intgauss = 1.1080468 (N=4)

1.6:  si= 1.3891809   intgauss = 1.3891791 (N=4)

2.0:  si= 1.6054129   intgauss = 1.6054095 (N=4)

2.4:  si= 1.7524855   intgauss = 1.7524789 (N=4)

2.8:  si= 1.8320968   intgauss = 1.8320868 (N=4)

3.2:  si= 1.8514008   intgauss = 1.8513898 (N=4)

3.6:  si= 1.8219477   intgauss = 1.8219409 (N=4)

4.0:  si= 1.7582033   intgauss = 1.7582086 (N=4)

Формула Симпсона реализуется следующей функцией (описание такое же как и в (*)):

function intsimpson(x:real;n:integer):real;

var i:integer;sum,h:real;

begin

if (x<>=0) then begin

h:=x/n;

//здесь учитываем особенность в нуле , при i=1, до начала цикла, а начиная c i=2 действуем //согласно выше описанному алгоритму.

sum:=1+4*sin(h/2)/(h/2)+sin(h)/h;i:=2;

while (i<=n) do begin

sum:=sum+sin((i-1)*h)/((i-1)*h)+4*sin((i-1)*h/2+i*h/2)/((i-1)*h/2+i*h/2)+sin(i*h)/(i*h);

inc(i);

end;

result:=sum*h/6;

end

result:=0;

end;

Получим результат:

0:     si=0                    intsimpson =0 (N=0)

0.4:  si= 0.3964615   intsimpson = 0.3964615 (N=4)

0.8:  si= 0.7720957   intsimpson = 0.7720959 (N=4)

1.2:  si= 1.1080472   intsimpson = 1.1080478 (N=4)

1.6:  si= 1.3891809   intsimpson = 1.3891826 (N=4)

2.0:  si= 1.6054129   intsimpson = 1.6054181 (N=4)

2.4:  si= 1.7524855   intsimpson = 1.7524953 (N=4)

2.8:  si= 1.8320968   intsimpson = 1.8321113 (N=4)

3.2:  si= 1.8514008   intsimpson = 1.8514175 (N=4)

3.6:  si= 1.8219477   intsimpson = 1.8219589 (N=4)

4.0:  si= 1.7582033   intsimpson = 1.7581950 (N=4)

        Результаты показали, что все формулы вычисляют интеграл правильно, с одинаковыми результатами. Как мы видим из выходных данных – самая большая точность вычисления у метода Симпсона и метода Гаусса.  

Задание 4.

Построить таблицу обратной к  функции

решая уравнения ,  ,  ,  следующим итерационным методом : решение уравнения  находится по формуле

,  где .

В качестве начального приближения  к точке  взять .

У функции существует обратная, если она является монотонной. Исследуем нашу функцию.

.   Найдем промежутки убывания и возрастания на нашем отрезке [a,b].

если и , если . Найдем обратную функцию для на , поскольку функция является монотонной на этом интервале.

Для выполнения этого задания требуется вычисление производной исходной функции, поэтому сначала продифференцируем полученный ранее ряд Тейлора.

.

function sipr(x:real):real;

var sum,q:real; i:integer;

begin

q:=-1*x*x/6;

sum:=2;

i:=1;

while (q>=eps) do begin

sum:=sum+q;

i:=i+1;

q:=q*(-1)*x*x/((i+1)*i);

end;

result:=sum;

end;

function si_back(x,x0,xn:real;n,i:integer):real;

var  F,z,z0:real;  j:integer;

begin

z:=x;

j:=0;

F:=x0+i*(xn-x0)/n;

repeat

z0:=z;    inc(j);

z:=z0-0.5*(si(z0)-F)*(1/sipr(z0)+1/sipr(z0-(si(z0)-F)/sipr(z0)));

until abs(z-z0)<=eps;

result:=z;

end;

Получим результат:

F(0.00000000)=0.00000000

F(0.17582033)=0.17612478

F(0.35164065)=0.35409861

F(0.52746098)=0.53594023

F(0.70328130)=0.72404076

F(0.87910163)=0.92148091

F(1.05492195)=1.13260017

F(1.23074228)=1.36414292

Построим график для функции интегрального синуса и обратной к ней.

Листинг программы

program chm;

{$APPTYPE CONSOLE}

uses

 SysUtils;

 CONST eps=0.000001;

 const c=0;

 const d=4;

 type tmas=array of real;

 function si(x:real):real;

 var f,s:real;i:integer;

 begin

 i:=0;s:=0;f:=x;

while abs(f)>=eps do

 begin

      s:=s+f;

      f:=-f*x*x*(2*i+1)/((2*i+2)*(2*i+3)*(2*i+3));

      inc(i);

 end;

   si:=s;

 end;

procedure tabul(var gg:textfile;n:integer;var f:tmas;var y:tmas;var h:real);

var i:integer;

begin

SetLength(f, n+1);

SetLength(y, n+1);

for i:=0 to n do

  begin

  f[i]:=si(c+i*h);

  y[i]:=c+i*h;

  end;

end;

function L(x:real;f,y:tmas;n:integer):real;

var  i,j:integer;k,s,g,t:real;

begin

i:=1; k:=1;s:=f[0];t:=1;   g:=1;

while i<=n do

 begin

 j:=n;

 while j>=i do

   begin

   f[j]:=(f[j]-f[j-1])/(y[j]-y[j-i]);

   dec(j);

   end;

 k:=k*(x-y[i-1]);

 s:=s+k*f[i];

 inc(i);

 end;

result:=s;

end;

procedure kornicheb(var kor:tmas;n:integer);

var  i:integer;

begin

setlength(kor,n+1);

for i:=0 to n do begin

kor[i]:=(d-c)/2*cos((2*i+1)*3.1415/(2*(n+1)))+(c+d)/2;

end;

end;

type tint=function(x:real;n:integer):real;

//ìåòîä ïðÿìîóãîëüíèêîâ

function intpryam(x:real;n:integer):real;

var del,sum,xx:real; i:integer;

begin

del:=x/n;

sum:=0;

i:=1;

xx:=0;

while i<=(n) do begin

xx:=xx+del;

sum:=sum+sin(xx)/xx;

i:=i+1;

end;

result:=del*sum;

end;

//ìåòîä òðàïåöèé

function inttrap(x:real;n:integer):real ;

var h,sum:real; i:integer;

begin

h:=x/n;

sum:=sin(h)/h+1;i:=2;

while (i<=n) do begin

sum:=sum+sin(i*h)/(i*h)+sin((i-1)*h)/((i-1)*h);

inc(i);

end;

result:=sum*h/2;

end;

//ìåòîä Ãàóññà

function intgauss(x:real;n:integer):real;

var  i:integer;h,sum:real;

begin

h:=x/n;

sum:=0;

i:=1;

while (i<=n) do begin

sum:=sum+sin((i-1)*h+h/2*(1-1/sqrt(3)))/((i-1)*h+h/2*(1-1/sqrt(3)))+sin((i-1)*h+h/2*(1+1/sqrt(3)))/((i-1)*h+h/2*(1+1/sqrt(3)));

inc(i);

end;

result:=sum*h/2;

end;

//ìåòîä Ñèìïñîíà

function intsimpson(x:real;n:integer):real;

var i:integer;sum,h:real;

begin

h:=x/n;

sum:=1+4*sin(h/2)/(h/2)+sin(h)/h;i:=2;

while (i<=n) do begin

sum:=sum+sin((i-1)*h)/((i-1)*h)+4*sin((i-1)*h/2+i*h/2)/((i-1)*h/2+i*h/2)+sin(i*h)/(i*h);

inc(i);

end;

result:=sum*h/6;

end;

type tmasint=array[1..4] of tint;

procedure int(var g:textfile;var a:tmasint;x:real;eps2:real);

var i,j:integer; r,s1:real;

begin

r:=si(x);

for i:=1 to 4 do begin

j:=2;

repeat

j:=j*2;

s1:=a[i](x,j);

until (abs(s1-a[i](x,2*j))<=eps2);

writeln(g,r:10:7,' ',s1:10:7);

writeln(g,j);

end;

end;

function sipr(x:real):real;

var sum,q:real; i:integer;

begin

q:=-1*x*x/6;

sum:=2;

i:=1;

while (q>=eps) do begin

sum:=sum+q;

i:=i+1;

q:=q*(-1)*x*x/((i+1)*i);

end;

result:=sum;

end;

function si_back(x,x0,xn:real;n,i:integer):real;

var  F,z,z0:real;  j:integer;

begin

z:=x;

j:=0;

F:=x0+i*(xn-x0)/n;

repeat

z0:=z;    inc(j);

z:=z0-0.5*(si(z0)-F)*(1/sipr(z0)+1/sipr(z0-(si(z0)-F)/sipr(z0)));

until abs(z-z0)<=eps;

result:=z;

end;

var f,y,ff,kor: tmas;n,i,p:integer; g,gg:textfile; h,s1,s2,eps2,x,m,dim:real; a:tmasint;

begin

assignfile(gg,'C:\Users\Èëüíàð\Desktop\t1.txt');

rewrite(gg);

  n:=10;

  h:=0.4;

  //1-îå çàäàíèå

  tabul(gg,n,f,y,h);

  //1-îå çàäàíèå

   n:=10;

  tabul(gg,n,f,y,h);

  setlength(ff,n+1);

  for i:=0 to n do

  ff[i]:=f[i];x:=4.8;   dim:=0;

  while x<8.8 do begin

  x:=x+0.2;

  s1:=si(x);

  s2:=L(x,ff,y,n);

  m:=abs(s1-s2);

 // writeln(gg,m:10:8);

  if dim<m then dim:=m;

  for p:=0 to n do

  ff[p]:=f[p];

  end;

  //write(gg,dim :10:8);

 { kornicheb(kor,n);

  for p:=0 to n do

  f[p]:=si(kor[p]);

  writeln;

  dim:=0;

  for p:=0 to n do

  ff[p]:=f[p];

  x:=5;

  while x<=9 do begin

  s1:=si(x);

  s2:=L(x,ff,kor,n);

  m:=abs(s1-s2);

  //writeln(gg,m:10:8);

  x:=x+0.2;

  if dim<m then dim:=m;

  for p:=0 to n do

  ff[p]:=f[p];

  end;

// write(gg,dim:10:8);

  writeln; }

  //3-å çàäàíèå

  a[1]:=intpryam;

  a[2]:=inttrap;

  a[3]:=intgauss;

  a[4]:=intsimpson;

 eps2:=0.0001;

  i:=1;

  assignfile(g,'C:\Users\Èëüíàð\Desktop\t2.txt');

  rewrite(g);

  while (i<=n) do begin

  int(g,a,y[i],eps2);

  i:=i+1;

  writeln(g);

 end;

  closefile(g);

//3-å çàäàíèå

//4-å çàäàíèå

{for i:=0 to 10 do begin

write(gg,f[0]+i*(f[n]-f[0])/n:10:8,' ');

writeln(gg,si_back(f[i],f[0],f[n],n,i):10:8);

end;

}

//4-å çàäàíèå

close(gg);

  readln(n);

end.


 

А также другие работы, которые могут Вас заинтересовать

7195. Земельное право 247.5 KB
  Общие положения. 1. Дисциплина Земельное право включена в федеральный компонент цикла общепрофессиональных дисциплин ГОС ВПО по специальности 030105.65, 030500.68 Юриспруденция. 2. В современных условиях возрастает роль земельного права в пров...
7197. Земельне право. Земельне право як галузь права 817.5 KB
  Земельне право Лекція № 1. Земельне право як галузь права. План I. Предмет земельного права. II. Поняття земля, земельна ділянка та земельні ресурси. III. Методи земельного права. IV. Поняття земельного права V. Система земельного ...
7198. Економіка (Економічна теорія) Теоретичний матеріал аудиторних занять 686.5 KB
  Економіка (економічна теорія). Теоретичний матеріал аудиторних занять(частина ІІ) для студентів денної форми навчання Запорізького гідроенергетичного коледжу Запорізької державної інженерної академії. - Запоріжжя, 2012 ЗМІСТ 1 Пояснювальн...
7199. Економічна теорія. Методи дослідження економічних явищ 785 KB
  Пояснювальна записка Предмет загальноосвітнього циклу Економіка інтегрується в дисципліну Економічна теорія, що входить до навчальних планів підготовки молодших спеціалістів усіх неекономічних спеціальностей. Їх вивчення має на меті...
7200. Shares and stocks in the UK. Акції, акціонерний капітал 48.5 KB
  Тема: Shares and stocks in the UK. Акції, акціонернийкапітал Вид заняття: семінар-практикум. Мета: вдосконалювати та поглиблювати закріпленні знання, розвивати вміння і навички роботи з додатковою літературою, оволодівати методами ...
7201. Comparing figures. Calculating 74.5 KB
  Тема: Comparing figures. Calculating.. Вид заняття: самостійна робота. Мета: розвивати самостійність студентів, розвивати вміння і навички роботи з додатковою літературою, оволодівати методами добору матеріалу, вчитися виділяти головне. ...
7202. Telephone and fax numbers. Document numbers, dates, times. Money 39.5 KB
  Тема: Telephone and fax numbers. Document numbers, dates, times. Money. Вид заняття: самостійна робота. Мета: розвивати самостійність студентів, розвивати вміння і навички роботи з додатковою літературою, оволодівати методами добору мате...
7203. Points and commas infigures 33 KB
  Тема: Points and commas infigures. Вид заняття: самостійна робота. Мета: розвивати самостійність студентів, розвивати вміння і навички роботи з додатковою літературою, оволодівати методами добору матеріалу, вчитися виділяти головне. Літе...