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

Министерство общего и профессионального образования РФ.

Уральский государственный технический университет – УПИ

Кафедра “Технология и средства связи”






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

"Research of Accuracy of Numerical Integration"







Отчет

по лабораторной работе

дисциплины

"Информатика",

третий семестр



Преподаватель: Болтаев А.В.

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

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

Группа: Р-207




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

2000

Содержание

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

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

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

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

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

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

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

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

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

  6. , где

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

  8. , где

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

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

  10. Для

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

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

    1. -0,1676631

    1. 14

    1. -0,1518916

    1. 16

    1. -0,0046931

    1. 12

    1. -0,0026531

    1. 11

    1. -0,0002639

    1. 10

    1. -0,0001709

    1. 2

    1. -0,0001297

    1. 9

    1. -0,0000557

    1. 3

    1. -0,000025

    1. 8

    1. -0,0000198

    1. 4

    1. -0,0000096

    1. 5

    1. -0,0000038

    1. 6

    1. 0

    1. 15

    1. 0,0000052

    1. 7

    1. 0,071089

    1. 13

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

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

    1. -0,1127271

    1. 16

    1. -0,0750288

    1. 15

    1. -0,0540677

    1. 14

    1. -0,0021415

    1. 12

    1. -0,0005711

    1. 11

    1. -0,0000458

    1. 9

    1. -0,0000381

    1. 2

    1. -0,0000191

    1. 3

    1. -0,000008

    1. 4

    1. -0,000004

    1. 5

    1. -0,0000019

    1. 7

    1. -0,0000002

    1. 6

    1. 0,000005

    1. 8

    1. 0,0002983

    1. 10

    1. 0,0164377

    1. 13

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

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

    1. -0,0066709

    1. 13

    1. -0,0042367

    1. 14

    1. -0,0003561

    1. 10

    1. -0,0000016

    1. 5

    1. -0,000001

    1. 4

    1. 0,0000005

    1. 3

    1. 0,0000006

    1. 6

    1. 0,0000009

    1. 2

    1. 0,0000009

    1. 7

    1. 0,0000223

    1. 8

    1. 0,000056

    1. 9

    1. 0,0002782

    1. 11

    1. 0,0003474

    1. 12

    1. 0,005293

    1. 16

    1. 0,0053267

    1. 15

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

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

    1. -61,4469795

    1. 12

    1. -5,714047

    1. 3

    1. -1,0215755

    1. 13

    1. -0,7241433

    1. 2

    1. -0,5121117

    1. 4

    1. -0,3222643

    1. 11

    1. -0,2163614

    1. 7

    1. -0,1536629

    1. 9

    1. -0,0930261

    1. 14

    1. 0,0353183

    1. 16

    1. 0,057059

    1. 15

    1. 0,1697371

    1. 5

    1. 0,2025534

    1. 10

    1. 0,2504728

    1. 6

    1. 0,6202592

    1. 8

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

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

    1. -0,0119308

    1. 16

    1. -0,0007834

    1. 13

    1. -0,0000079

    1. 3

    1. -0,0000041

    1. 4

    1. -0,0000037

    1. 7

    1. -0,0000027

    1. 5

    1. -0,0000027

    1. 6

    1. -0,000002

    1. 8

    1. -0,0000016

    1. 2

    1. 0,0000003

    1. 10

    1. 0,0000062

    1. 9

    1. 0,0000385

    1. 11

    1. 0,0000802

    1. 12

    1. 0,0005452

    1. 15

    1. 0,0016689

    1. 14

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

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

    1. -0,0026286

    1. 16

    1. -0,0012416

    1. 14

    1. -0,0000118

    1. 3

    1. -0,0000107

    1. 4

    1. -0,0000046

    1. 5

    1. -0,0000046

    1. 9

    1. -0,0000028

    1. 6

    1. -0,0000021

    1. 7

    1. -0,0000005

    1. 2

    1. 0,0000011

    1. 10

    1. 0,0000018

    1. 8

    1. 0,0000023

    1. 11

    1. 0,000058

    1. 12

    1. 0,0001049

    1. 13

    1. 0,0027928

    1. 15

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

  12. Для функции

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

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

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

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

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

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

    1. -0,0001709

    1. 2

    1. -0,0001932

    1. 2

    1. -0,0000557

    1. 3

    1. -0,0000629

    1. 3

    1. -0,0000198

    1. 4

    1. -0,0000224

    1. 4

    1. -0,0000096

    1. 5

    1. -0,0000108

    1. 5

    1. -0,0000038

    1. 6

    1. -0,0000043

    1. 6

    1. 0,0000052

    1. 7

    1. 0,0000058

    1. 7

    1. -0,000025

    1. 8

    1. -0,0000283

    1. 8

    1. -0,0001297

    1. 9

    1. -0,0001466

    1. 9

    1. -0,0002639

    1. 10

    1. -0,0002983

    1. 10

    1. -0,0026531

    1. 11

    1. -0,002998

    1. 11

    1. -0,0046931

    1. 12

    1. -0,0052891

    1. 12

    1. 0,071089

    1. 13

    1. 0,0797403

    1. 13

    1. -0,1676631

    1. 14

    1. -0,2014365

    1. 14

    1. 0

    1. 15

    1. 0

    1. 15

    1. -0,1518916

    1. 16

    1. -0,1518916

    1. 16

  13. Для функции

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

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

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

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

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

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

    1. -0,0000381

    1. 2

    1. -0,0000666

    1. 2

    1. -0,0000191

    1. 3

    1. -0,0000335

    1. 3

    1. -0,000008

    1. 4

    1. -0,0000141

    1. 4

    1. -0,000004

    1. 5

    1. -0,0000069

    1. 5

    1. -0,0000002

    1. 6

    1. -0,0000004

    1. 6

    1. -0,0000019

    1. 7

    1. -0,0000033

    1. 7

    1. 0,000005

    1. 8

    1. 0,0000088

    1. 8

    1. -0,0000458

    1. 9

    1. -0,0000802

    1. 9

    1. 0,0002983

    1. 10

    1. 0,000522

    1. 10

    1. -0,0005711

    1. 11

    1. -0,0009997

    1. 11

    1. -0,0021415

    1. 12

    1. -0,0037465

    1. 12

    1. 0,0164377

    1. 13

    1. 0,0286955

    1. 13

    1. -0,0540677

    1. 14

    1. -0,0959378

    1. 14

    1. -0,0750288

    1. 15

    1. -0,1259331

    1. 15

    1. -0,1127271

    1. 16

    1. -0,1750124

    1. 16

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

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

                  1. Метод трапеции n=1000000

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

                  2. n =1000000

                  1. Аналитический результат

                  1. Функция

                  1. Пределы

                  1. 4,5051475

                  1. 4,5240183

                  1. 4,49980967

                  1. f(x)=1/x

                  1. 0,1…..9

                  1. 1,7491462

                  1. 1,7500761

                  1. 1,791756469

                  1. f(x)=1/x*x

                  1. 0,3…..5

                  1. 1,9991885

                  1. 1,9999505

                  1. 2

                  1. f(x)=sin(x)

                  1. 0…….π

                  1. -0,0000512

                  1. 0,000003

                  1. 0

                  1. f(x)=sin(2*x)

                  1. 0…….π

                  1. 0,2857157

                  1. 0,2856935

                  1. 0,285714285

                  1. f(x)=sin(7*x)

                  1. 0…....π

                  1. 0,2222053

                  1. 0,2222133

                  1. 0,222222222

                  1. f(x)=sin(9*x)

                  1. 0…....π

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

      1. Аналитическое значение

      1. Практическое значение

      1. Верхний предел

      1. Погрешность

      1. 4,49980967

      1. 4,5217996

      1. 9

      1. -0,02198993

      1. 4,605170186

      1. 4,624969

      1. 10

      1. -0,019798814

      1. 4,787491743

      1. 4,8039412

      1. 12

      1. -0,016449457

      1. 4,941642423

      1. 4,9557843

      1. 14

      1. -0,014141877

      1. 5,075173815

      1. 5,0875444

      1. 16

      1. -0,012370585

      1. 5,192956851

      1. 5,2039275

      1. 18

      1. -0,010970649

      1. 5,298317367

      1. 5,3082042

      1. 20

      1. -0,009886833

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

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

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

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

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

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

  3. "Research of Accuracy of Numerical Integration"

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

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

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

  7. Группа: Р-207

  8. */

  9. # include

  10. # include

  11. # include

  12. # include

  13. # include

  14. # include

  15. int main ()

  16. {

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

  18. int n,i,t,j,N;

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

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

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

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

  23. scanf("%d",&n);

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

  25. printf("Enter beginnings of integration= ");

  26. scanf("%f",&a);

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

  28. printf("Enter limit of integration= ");

  29. scanf("%f",&b);

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

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

  32. {

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

  34. }

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

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

  37. scanf("%d",&N);

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

  39. h=(a+b)/n;

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

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

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

  43. {

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

  45. Sum[j]=0;

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

  47. {

  48. x=a+i*h;

  49. if(i==0)

  50. t=1;

  51. else

  52. t=2;

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

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

  55. }

  56. if (j>1)

  57. {

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

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

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

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

  62. }

  63. }

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

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

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

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

  68. {

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

  70. Sum[j]=0;

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

  72. {

  73. x=a+i*h;

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

  75. t=1;

  76. else

  77. {

  78. if(i%2==0)

  79. t=2;

  80. else

  81. t=4;

  82. }

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

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

  85. }

  86. if (j>1)

  87. {

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

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

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

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

  92. }

  93. }

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

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

  96. scanf("%d",&b);

  97. }

Нравится материал? Поддержи автора!

Ещё документы из категории информатика:

X Код для использования на сайте:
Ширина блока px

Скопируйте этот код и вставьте себе на сайт

X

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

После чего кнопка «СКАЧАТЬ» станет доступной!

Кнопочки находятся чуть ниже. Спасибо!

Кнопки:

Скачать документ