Список библиографических источников

Екатеринбург

2000

Содержание

1. Задание исследования.................................................................. 3

2. Подробное описание задачи и способы ее решения................... 3

3. Результаты исследований............................................................. 4

4. Сравнение результатов.............................................................. 12

5. Список библиографических источников................................... 13

6. Текст программы........................................................................ 13

 

Задание исследования

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

Подробное описание задачи и способы ее решения

Необходимо провести исследования так называемой внутренней сходимости численного интегрирования методами Симсона и трапеций различных функций, задаваемых с помощью функций языка С. Предполагается, что отрезок интегрирования [a,b] разбит на n равных частей системой точек (сеткой).

      

Контроль внутренней сходимости заключается в циклическом вычислении приближенных значений интеграла для удваимого по сравнению со значением на предыдущем прохождении цикла числа n. Отношения абсолютной величины разности этих значений к абсолютной величине предыдущего приближенного значения принимается в качестве критерия достижения точности интеграла.

Построить зависимости количеств итераций от различных величин критерия точности.

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

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

Исследовать влияние увеличения верхнего предела интегрирования на точность (при прочих неизменных условиях)

Метод трапеций

, где

Метод Симпсона

, где

Результаты исследований

Таблица и график зависимости количества итераций от различных значений критерия точности

Для

Критерий точности Количество итераций
-0,1676631 14
-0,1518916 16
-0,0046931 12
-0,0026531 11
-0,0002639 10
-0,0001709 2
-0,0001297 9
-0,0000557 3
-0,000025 8
-0,0000198 4
-0,0000096 5
-0,0000038 6
0 15
0,0000052 7
0,071089 13

 


Критерий точности Количество итераций
-0,1127271 16
-0,0750288 15
-0,0540677 14
-0,0021415 12
-0,0005711 11
-0,0000458 9
-0,0000381 2
-0,0000191 3
-0,000008 4
-0,000004 5
-0,0000019 7
-0,0000002 6
0,000005 8
0,0002983 10
0,0164377 13

 

 

 

Критерий точности Количество итераций
-0,0066709 13
-0,0042367 14
-0,0003561 10
-0,0000016 5
-0,000001 4
0,0000005 3
0,0000006 6
0,0000009 2
0,0000009 7
0,0000223 8
0,000056 9
0,0002782 11
0,0003474 12
0,005293 16
0,0053267 15

 

 

 

 

Критерий точности Критерий точности
-61,4469795 12
-5,714047 3
-1,0215755 13
-0,7241433 2
-0,5121117 4
-0,3222643 11
-0,2163614 7
-0,1536629 9
-0,0930261 14
0,0353183 16
0,057059 15
0,1697371 5
0,2025534 10
0,2504728 6
0,6202592 8

 

 

Критерий точности Количество итераций
-0,0119308 16
-0,0007834 13
-0,0000079 3
-0,0000041 4
-0,0000037 7
-0,0000027 5
-0,0000027 6
-0,000002 8
-0,0000016 2
0,0000003 10
0,0000062 9
0,0000385 11
0,0000802 12
0,0005452 15
0,0016689 14

 

 

 

Критерий точности Количество итераций
-0,0026286 16
-0,0012416 14
-0,0000118 3
-0,0000107 4
-0,0000046 5
-0,0000046 9
-0,0000028 6
-0,0000021 7
-0,0000005 2
0,0000011 10
0,0000018 8
0,0000023 11
0,000058 12
0,0001049 13
0,0027928 15

 

 

 

Таблица и график зависимости значений критерия точности от количества итераций

Для функции

По отношению к предыдущему значению

По отношению к аналитическому значению

Критерий точности Количество итераций Критерий точности Количество итераций
-0,0001709 2 -0,0001932 2
-0,0000557 3 -0,0000629 3
-0,0000198 4 -0,0000224 4
-0,0000096 5 -0,0000108 5
-0,0000038 6 -0,0000043 6
0,0000052 7 0,0000058 7
-0,000025 8 -0,0000283 8
-0,0001297 9 -0,0001466 9
-0,0002639 10 -0,0002983 10
-0,0026531 11 -0,002998 11
-0,0046931 12 -0,0052891 12
0,071089 13 0,0797403 13
-0,1676631 14 -0,2014365 14
0 15 0 15
-0,1518916 16 -0,1518916 16

 

Для функции

По отношению к предыдущему значению

По отношению к аналитическому значению

Критерий точности

Количество итераций

Критерий точности

Количество итераций

-0,0000381

2

-0,0000666

2

-0,0000191

3

-0,0000335

3

-0,000008

4

-0,0000141

4

-0,000004

5

-0,0000069

5

-0,0000002

6

-0,0000004

6

-0,0000019

7

-0,0000033

7

0,000005

8

0,0000088

8

-0,0000458

9

-0,0000802

9

0,0002983

10

0,000522

10

-0,0005711

11

-0,0009997

11

-0,0021415

12

-0,0037465

12

0,0164377

13

0,0286955

13

-0,0540677

14

-0,0959378

14

-0,0750288

15

-0,1259331

15

-0,1127271

16

-0,1750124

16

                 

 

 

 

 

 

 

 

 

 

 

 

Сравнение результатов

Таблица сравнительных результатов

Метод трапеции n=1000000 Метод Симпсона n =1000000 Аналитический результат Функция Пределы
4,5051475 4,5240183 4,49980967 f(x)=1/x 0,1…..9
1,7491462 1,7500761 1,791756469 f(x)=1/x*x 0,3…..5
1,9991885 1,9999505 2 f(x)=sin(x) 0…….π
-0,0000512 0,000003 0 f(x)=sin(2*x) 0…….π
0,2857157 0,2856935 0,285714285 f(x)=sin(7*x) 0…....π
0,2222053 0,2222133 0,222222222 f(x)=sin(9*x) 0…....π

Таблица влияния увеличения верхнего предела на точность интегрирования

Аналитическое значение Практическое значение Верхний предел Погрешность
4,49980967 4,5217996 9 -0,02198993
4,605170186 4,624969 10 -0,019798814
4,787491743 4,8039412 12 -0,016449457
4,941642423 4,9557843 14 -0,014141877
5,075173815 5,0875444 16 -0,012370585
5,192956851 5,2039275 18 -0,010970649
5,298317367 5,3082042 20 -0,009886833

Следовательно, увеличение верхнего предела приводит к увеличению точности интегрирования

Список библиографических источников

1.  Справочник по математике/Бронштейн И.Н., Семендяев К.А.-М.:Физико-математическая литература, 1998.

Текст программы

/* Курсовая работа по информатике

 "Исследование точности численного интегрирования"

 "Research of Accuracy of Numerical Integration"

 Преподаватель:

 Студенты: Степанов А.Г.

                              Черепанов К.А.

 Группа: Р-207

*/

# include <stdio.h>

# include <io.h>

# include <stdlib.h>

# include <iostream.h>

# include <string.h>

# include <math.h>

 

Int main ()

{

FILE *fp; /*указатель на поток*/

int n,i,t,j,N;

float a,b,h,Sum[100],x,y,coa;

 

             printf("Research of Accuracy of Numerical Integration\n");

 

             /*Ввод точности вычисления*/

                   printf("Enter accuracy of calculation n= ");

              scanf("%d",&n);

 

              /*Ввод начала интегрирования*/

              printf("Enter beginnings of integration= ");

              scanf("%f",&a);

 

              /*Ввод предела интегрирования*/

              printf("Enter limit of integration= ");

              scanf("%f",&b);

 

              /*Открытие файла-источника*/

                                          while((fp=fopen("data3.xls","w"))==NULL)

                           {

                                       puts("Error!!! Can't open file \nInput name of file\n");

                         }

 

              /*Ввод количества итераций*/

              printf("Enter number of Itteration N= ");

              scanf("%d",&N);

 

             /*Вычисление шага интегрирования*/

       h=(a+b)/n;

              printf("Step=%.3f\n",h);

           

/*******Вычисление интеграла методом трапеций*******/

      for(j=1;j<=N;j++)

      {

              h=(a+b)/(int(pow(2,j-1))*n);

          Sum[j]=0;

             for(i=0;i<=(int(pow(2,j-1))*n);i++)

               {

                         x=a+i*h;

                         if(i==0)

                                     t=1;

                         else

                                t=2;

                         y=t*(h/2)*(sin(2*x));

                         Sum[j]=Sum[j]+y;

              }

              if (j>1)

             {

                         coa=(Sum[j]-Sum[j-1])/Sum[j-1];

                         printf("Criterion of accuracy=%.5f Number of iteration=%d\n",coa,j);

                         fprintf(fp,"%.7f\t",coa);

                         fprintf(fp,"%d\t\n",j);

              }

       }

       printf("The sum by a method of trapezes=%.7f\n",Sum[1]);

       fprintf(fp,"The sum by a method of trapezes=%.7f\n",Sum[1]);

        

/*******Вычисление интеграла методом Симпсона*******/

     for(j=1;j<=N;j++)

    {

      h=(a+b)/(int(pow(2,j-1))*n);

       Sum[j]=0;

       for(i=0;i<=(int(pow(2,j-1))*n);i++)

       {

          x=a+i*h;

          if(i==0||i==n)

              t=1;

          else

               {

                if(i%2==0)

                         t=2;

                  else

                         t=4;

               }

          y=t*(h/3)*(sin(2*x));

          Sum[j]=Sum[j]+y;

        }

       if (j>1)

          {

                         coa=(Sum[j]-Sum[j-1])/Sum[j-1];

                         printf("Criterion of accuracy=%.5f Number of iteration=%d\n",coa,j);

                         fprintf(fp,"%.7f\t",coa);

                         fprintf(fp,"%d\t\n",j);

           }

       }

       printf("The sum by a Simpson's method= %.7f\n",Sum[1]);

       fprintf(fp,"The sum by a Simpson's method=%.7f\n",Sum[1]);

       scanf("%d",&b);

}


Дата добавления: 2019-07-15; просмотров: 92; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!