1150

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

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

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

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

Русский

2013-01-06

460 KB

172 чел.

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

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

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

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

Вариант №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.


 

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

42174. ИССЛЕДОВАНИЕ ТЕХНОЛОГИИ ФОРМАТИРОВАНИЯ СЛОЖНЫХ ПО ФОРМАТУ ДОКУМЕНТОВ 654.5 KB
  Рукописные работы дипломные работы курсовые работы рефераты отчёты и пр. Основная часть рукописной работы Раздел 2 следует за титульным листом начинается со страницы № 2 обычно имеет оглавление. Заголовок 1 для глав работы Заголовок 2 для параграфов. Например для форматирования реквизитов Название организации Исполнитель Руководитель работ Название специальности Тема дипломной работы и пр.
42175. ИССЛЕДОВАНИЕ ЦЕПИ ПЕРЕМЕННОГО ТОКА С ПАРАЛЛЕЛЬНЫМ СОЕДИНЕНИЕМ АКТИВНОГО И ЕМКОСТНОГО СОПРОТИВЛЕНИЙ 203 KB
  Общие теоретические сведения В схеме рис.1 Векторная диаграмма этой схемы представлена на рис. Рис. Диаграмма представленная на рис.Ток совпадает по фазе с напряжением . Из точки О1 откладываем отрезок О1К = I2k /mI , по направлению вектора . Отрезок О1К является хордой круговой диаграммы . В масштабе mz откладываем по направлению отрезка О1К отрезок О1А = R2 /mz и из точки А под углом 900 к линии О1К проводим линию изменяющегося параметра AN’. Перпендикуляр, к линии изменяющегося параметра, опущенный из точки О1 совпадает по направлению с хордой.
42176. ИССЛЕДОВАНИЕ ЭЛЕКТРИЧЕСКОЙ ЦЕПИ ПЕРЕМЕННОГО ТОКА С ПАРАЛЛЕЛЬНЫМ СОЕДИНЕНИЕМ АКТИВНОГО, ИНДУКТИВНОГО И ЕМКОСТНОГО СОПРОТИВЛЕНИЙ. РЕЗОНАНС ТОКОВ 182.5 KB
  Общие теоретические сведения В схеме рис.1 Векторные диаграммы этой схемы при различных значениях емкости С представлена на рис.9 Рис. Если емкость C конденсатора подобрать так чтобы ток полностью компенсировал реактивную составляющую то общий ток будет совпадать по направлению с напряжением рис.
42177. Прилади і методи контролю метеорологічних умов на робочих місцях 99 KB
  Теоретичний вступ До показників які характеризують метеорологічні умови мікроклімат належать: температура відносна вологість швидкість руху повітря теплове випромінювання. Дійсну температуру повітря в робочій зоні визначають за формулою 1: де tч і t0 показники чорного та посрібленого термометрів 0С. Вимірювання температури повітря в приміщенні можна також проводити з допомогою сухого термометра аспіраційного психометра Ассмана. Вимірювання вологості повітря.
42178. Амбулаторно-поликлиническая помощь сельскому населению. Обзор. Состояние, проблемы и перспективы развития в Республике Беларусь 258 KB
  При этом в настоящее время существуют различны, иногда противоположные, мнения относительно действующей организационной модели сельского здравоохранения. Рядом автором она признается несовершеннолетней: недостаточная мощность организаций здравоохранения села рассматривается
42180. ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИИ «ПРИНЯТИЕ РЕШЕНИЙ» ПРИ РЕШЕНИИ ЗАДАЧ СРЕДСТВАМИ ТАБЛИЧНОГО ПРОЦЕССОРА 293 KB
  Найдите решения уравнения fx=0 с точность до 001 на отрезке [;b] используя опцию Подбор параметра. № варианта Функция fx Отрезок [;b] Шаг h fx = 3x52x4x36x2x4 [2;5] 05 fx = 3x5x36x2x4 [2;5] 05 fx = 2x56x4x3x2x4 [2;5] 05 fx = x39x224x15 [10;10] 05 fx = x23 x 2 [5;5] 05 fx = x36x29x6 [2;5] 05 fx = x36x29x2 [2;5] 05 fx = x39x224x2 [2;5] 05 fx = x33x26 [10;10] 05 fx = x312x245x51 [2;5] 05 fx= x26x8 [2;8] 05 fx =...
42181. ИССЛЕДОВАНИЕ ЭЛЕКТРИЧЕСКИХ ЦЕПЕЙ С ВЗАИМНОЙ ИНДУКТИВНОСТЬЮ 410 KB
  Исследовать свойства электрических цепей переменного тока с последовательным и параллельным соединением индуктивно связанных катушек. Коэффициент пропорциональности M21= называют взаимной индуктивностью катушек 2 и 1. Итак индуктивная связь катушек – это связь их через магнитное поле когда магнитный поток одной катушки пронизывает не только витки собственной катушки но и витки другой находящейся поблизости катушки. Взаимная индуктивная связь катушек обусловливает...
42182. ИССЛЕДОВАНИЕ НЕСИММЕТРИЧНОГО ПАССИВНОГО ЧЕТЫРЕХПОЛЮСНИКА 222.5 KB
  Исследование линейного пассивного четырехполюсника при переменной нагрузке определение на основании опытных данных постоянных четырехполюсника А В С D и построение круговой диаграммы. Активные четырехполюсники в своих ветвях содержат источники энергии в пассивных четырехполюсниках источников энергии нет. Для любого пассивного четырехполюсника напряжение и ток на входе и выходе связаны между собой уравнениями:...