Автор: Пользователь скрыл имя, 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»
В ходе выполнения лабораторной работы были освоены методы численного интегрирования: метод прямоугольников, метод трапеций и метод Симпсона. Также было показано на рис. 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))
}
//----------------------------
Приложение №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))
}
//----------------------------