Численное интегрирование функций

Автор: Пользователь скрыл имя, 15 Мая 2013 в 06:33, лабораторная работа

Описание работы

Если же функция задана таблично, то решение аналитическими методами вообще невозможно. Во всех этих случаях (а также и тогда, когда интеграл можно вычислить по формуле Ньютона-Лейбница, но вычисления первообразных весьма сложны и громоздки) на помощь приходят численные методы интегрирования, которые позволяют вычислить ответ с нужной точностью простыми методами, почти не зависящими от способа задания функции.
В ходе выполнения лабораторной работы были освоены методы численного интегрирования: метод прямоугольников, метод трапеций и метод Симпсона. Также было показано на рис. 5 сравнение результатов, полученных всеми тремя методами. Со сравнением методов между собой можно ознакомиться в п.6.

Содержание

Цель работы 3
Общая схема методов численного интегрирования 3
Метод прямоугольников 4
Теория по методу интегрирования прямоугольниками 4
Реализация метода интегрирования прямоугольниками 4
Метод трапеций 5
Теория по методу интегрирования трапециями 5
Реализация метода интегрирования трапециями 6
Метод Симпсона 7
Теория по методу интегрирования Симпсона 7
Реализация метода интегрирования Симпсона 8
Оценка точности результатов 8
Сравнение методов 10
Вывод 11
Список Литературы 12

Приложение №1 – «Листинг программы Square.exe»
Приложение №2 – «Листинг программы Trapeze.exe»
Приложение №3 – «Листинг программы Simpson.exe»

Работа содержит 1 файл

Отчет - третья лабораторная(исправ).docx

— 175.64 Кб (Скачать)

 

   В ходе выполнения лабораторной работы были освоены методы численного интегрирования: метод прямоугольников, метод трапеций и метод Симпсона. Также было показано на рис. 5 сравнение результатов, полученных всеми тремя методами. Со сравнением методов между собой можно ознакомиться в п.6.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список литературы:

 

1) - Латыпов И.И., Асадуллин Р.М., Чудинов В.В. -  Численные методы. Лабораторный практикум. - 2007

 

2) - Комплект лекций Зыбарева В.M по дисциплине "Вычислительная математика" 2013

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение №1 – «Листинг программы Square.exe»

 

//---------------------------------------------------------------------------

#include <iostream.h>

#include <math.h>

#include <vcl.h>

#pragma hdrstop

 

//---------------------------------------------------------------------------

double square(double a, double b, double h)

{

 double k=(b-a)/h, res=0;

 for(int n=0; n<k; n++)

{

    double x=(a+(n+0.5)*h);

    if(x==0) x=0.0000000000001;

    res=res+(sin(x)/x);

 }

 return (h*res);

}

//---------------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение №2 – «Листинг программы Trapeze.exe»

 

//---------------------------------------------------------------------------

#include <iostream.h>

#include <math.h>

#include <vcl.h>

#pragma hdrstop

 

//---------------------------------------------------------------------------

double trapeze(double a, double b, double h)

{

 double k=(b-a)/h, res=0;

 for(int n=1; n<k; n++)

{

    double x=(a+n*h);

    if(x==0) x=0.0000000000001;

    res=res+(sin(x)/x);

}

 return ((h/2)*((sin(a)/a)+(sin(b)/b))+h*res);

}

//---------------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение №3 – «Листинг программы Simpson.exe»

 

//---------------------------------------------------------------------------

#include <iostream.h>

#include <math.h>

#include <vcl.h>

#pragma hdrstop

 

//---------------------------------------------------------------------------

double Simpson(double a, double b, double h)

{

 double k=(b-a)/h, resf=0, ress=0;

 for(int n=0; n<k; n++) 

{

  double xf=a+n*h, xs=a+(n+0.5)*h;

  if(xf==0) xf=0.0000000000001;

  if(xs==0) xs=0.0000000000001;

  resf=resf+(sin(xf)/xf);

  ress=ress+(sin(xs)/xs);

}

 return ((h/6)*((sin(a)/a)+(sin(b)/b))+(h/3)*resf+(2*h/3)*ress);

}

//---------------------------------------------------------------------------

 


Информация о работе Численное интегрирование функций