1150

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

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

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

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

Русский

2013-01-06

460 KB

165 чел.

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

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

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

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

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


 

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

20176. Аналоговый электронный вольтметр 824.5 KB
  Измерение переменного напряжения. ОБЩИЕ СВЕДЕНИЯ Измерение напряжения и силы тока наиболее распространенный вид измерений. В различных областях науки и техники эти измерения осуществляются в широком диапазоне частот от постоянного тока и инфранизких частот сотые доли герца до сверхвысоких частот 1 ГГц и более и в большом диапазоне измеряемых значений напряжения и тока соответственно от нановольт до сотен киловольт и от 1016 до десятков и сотен ампер при большом многообразии форм измеряемого напряжения и тока. Измерение постоянных...
20177. ИЗМЕРЕНИЕ ЧАСТОТЫ И ИНТЕРВАЛОВ ВРЕМЕНИ 486 KB
  Измерение частоты периода и других временных параметров электрических сигналов является одной из важнейших задач в радиотехнике и телекоммуникационных системах. Аппаратура для частотновременных измерений образует единый комплекс приборов обеспечивающий возможность проведения измерений с непосредственной их привязкой к Государственному эталону частоты и времени. Основными измерительными приборами и средствами данных измерений являются: осциллографы; приемники сигналов эталонных частот и компараторы; преобразователи частоты сигналов;...
20178. Средства измерения. Аналоговые электромеханические приборы 1011 KB
  [2] Метод непосредственной оценки при измерении электрического тока. Метод непосредственной оценки при измерении электрического тока. Перед измерением тока нужно иметь представление: о его частоте форме ожидаемом значении требуемой точности измерения и сопротивлении цепи в которой производится измерение. Для измерения тока применяют метод непосредственной оценки.
20180. Электродинамические приборы 391.5 KB
  15 Если через катушки пропустить переменные синусоидальные токи и то подвижная часть прибора будет реагировать на среднее значение вращающего момента где I1 и I2 – действующие значения тока;  фазовый сдвиг между ними. Значит уравнение 15 для переменного тока примет вид: 16 Из формул 15 и 16 ясно что показания приборов электродинамической системы пропорциональны произведению токов протекающих по катушкам; градуировка шкалы на постоянном токе справедлива и для переменных токов. Выпускаются амперметры электродинамической...
20181. Оценка случайных погрешностей 788.5 KB
  Изменение погрешности во времени представляет собой нестационарный случайный процесс. Разделение погрешности на систематическую прогрессирующую и случайную составляющие представляет собой попытку описать различные участки частотного спектра этого широкополосного процесса: инфранизкочастотный низкочастотный и высокочастотный. Случайная погрешность составляющая погрешности измерения изменяющаяся случайным образом по знаку и значению в серии повторных измерений одного и того же размера ФВ проведенных с одинаковой тщательностью в...
20182. Точечные оценки законов распределения 114.5 KB
  Функции распределения описывают поведение непрерывных случайных величин т. Задача нахождения точечных оценок частный случай статистической задачи нахождения оценок параметров функции распределения случайной величины на основании выборки. В отличие от самих параметров их точечные оценки являются случайными величинами причем их значения зависят от объема экспериментальных данных а закон распределения от законов распределения самих случайных величин.
20183. Малое предпринимательство в экономических системах разных стран 293.71 KB
  Выявить тенденции и особенностей становления малого бизнеса в экономике России, его значимости в социально-экономическом развитии общества; раскрыть проблемы взаимодействия малого бизнеса и государственных органов; рассмотреть зарубежный опыт развития малого предпринимательства; исследовать франчайзинг как способ развития малого бизнеса; изучить франчайзинговые модели бизнеса российских стран.
20184. СЧЕТЧИКИ. Общие сведения 309.5 KB
  40 показаны вход и выходы счетчика без раскрытия схемы счетчика а в табл.19 Числопоступивших импульсов Состояние триггеров Число поступившихимпульсов Состояние триггеров Q4 Q3 Q2 Q1 Q4 Q3 Q2 Q1 0 0 0 0 0 8 1 0 0 0 1 0 0 0 1 9 1 0 0 1 2 0 0 1 0 10 1 0 1 0 3 0 0 1 1 11 1 0 1 1 4 0 1 0 0 12 1 1 0 0 5 0 1 0 1 13 1 1 0 1 6 0 1 1 0 14 1 1 1 0 7 0 1 1 1 15 1 1 1 1 Наряду с суммирующими счетчиками в которых в процессе счета каждое очередное число на одну единицу превышает предыдущее используются и такие счетчики в которых в процессе счета числа...