Вычисление интеграла методом Симпсона
Особенности метода численного интегрирования функции одной переменной. Замена на каждом элементарном отрезке подынтегральной функции на многочлен первой степени (линейную функцию). Разработка алгоритма программы, ее листинг. Пример работы программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 14.07.2012 |
Размер файла | 217,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Воронежский государственный технический университет
Кафедра полупроводниковой электроники и нано электроники
Контрольная работа
по дисциплине информатика
На тему: "Вычисление интеграла методом Симпсона"
Содержание
- 1. Теоретическая часть
- 1.1 Метод деления отрезка пополам
- 1.2 Метод трапеций
- 2. Алгоритм работы программы
- 3. Листинг программы
- 4. Пример работы программы
- 5. Вывод
- Список литературы
1. Теоретическая часть
1.1 Метод деления отрезка пополам
Задача заключается в нахождении корней нелинейного уравнения
. (1)
Для начала итераций необходимо знать интервал значений , на концах которого функция принимает значения разных знаков:
. (2)
Из непрерывности функции f и условия (2) следует, что на интервале существует хотя бы один корень уравнения (в случае наличия нескольких корней метод приводит к нахождению одного из них)
Выберем точку внутри интервала:
. (3)
Если , то корень найден. Если разобьём интервал на два: и . Теперь найдём новый интервал, в котором функция меняет знак. Пусть и соответственно корень находится внутри интервала . Тогда обозначим и повторим описанную процедуру до достижения требуемой точности. За количество итераций N первоначальный отрезок делится в 2N раз.
1.2 Метод трапеций
Метод численного интегрирования функции одной переменной, заключающийся в замене на каждом элементарном отрезке подынтегральной функции на многочлен первой степени, то есть линейную функцию. Площадь под графиком функции аппроксимируется прямоугольными трапециями. Алгебраический порядок точности равен 1.
Если отрезок является элементарным и не подвергается дальнейшему разбиению, значение интеграла можно найти по формуле:
. (4)
Это простое применение формулы для площади трапеции - полусумма оснований, которыми в данном случае являются значения функции в крайних точках отрезка, на высоту (длину отрезка интегрирования).
Метод трапеций быстро сходится к точному значению интеграла для периодических функций, поскольку погрешность за период аннулируется. Метод может быть получен путём вычисления среднего арифметического между результатами применения формул правых и левых прямоугольников.
2. Алгоритм работы программы
Размещено на http://www.allbest.ru/
3. Листинг программы
program task;
const
E = 0.0000001;
function f (x: Real): Real;
begin
f: = 4 - sqr (sqr (x));
end;
function g (x: Real): Real;
begin
if x < 0 then
g: = - exp (ln (-x) / 3)
else if x > 0 then
g: = exp (ln (x) / 3)
else
g: = 0;
end;
function func (x: Real): Real;
begin
func: = f (x) - g (x);
end;
function bissection (a,b: Real): Real;
var
x: Real;
t: Boolean;
begin
bissection: = 0;
if ( (func (a) * func (b)) > 0) then
begin
WriteLn ('Здесь не может быть корня! ');
end
else
begin
if (abs (func (a)) < E) then
bissection: = a
else if (abs (func (b)) < E) then
bissection: = b
else
begin
x: = (a + b) / 2;
t: = true;
while t do
begin
if (abs (func (x)) < E) or (abs (a - b) < E) then
begin
bissection: = x;
t: = false;
end
else
begin
if (func (x) * func (a) < 0) then
b: = x
else
a: = x;
x: = (a + b) / 2;
end;
end;
end;
end;
end;
function Integral (a,b: Real): Real;
const
n = 128;
var
h, x, res: Real;
begin
h: = (b - a) / n;
x: = a;
res: = 0;
repeat
res: = res + 0.5 * (func (x) + func (x + h)) * h;
x: = x + h;
until x > b-h;
Integral: = res;
end;
var
a,b: Real;
begin
a: = bissection (-3, 0);
b: = bissection (0,3);
WriteLn ('Корень 1 = ', a: 7: 7);
WriteLn ('Корень 2 = ', b: 7: 7);
WriteLn ('Площадь интеграла = ', Integral (a, b): 7: 7);
ReadLn;
end.
4. Пример работы программы
Точное значение интеграла, посчитано средствами математического пакета Mathcad:
.
5. Вывод
В данной работе решена задача приближённого интегрирования функции методом трапеций и нахождения пределов интегрирования методом деления отрезка пополам.
В процессе создания работы разработан алгоритм решения поставленной задачи. По этому алгоритму на языке Pascal составлена и отлажена программа.
В ходе тестирования были получены результаты работы методом деления отрезка пополам и метода трапеций.
Программа является полностью работоспособной, что подтверждается результатами её тестированием.
интеграл симпсон программа листинг
Список литературы
1. Н.С. Пискунов. Дифференциальное и интегральное исчисление 370 - 373 с.
2. С.А. Немнюгин. Turbo Pascal. Учебник для вузов.
Размещено на Allbest.ru
Подобные документы
Разработка алгоритма решения задачи численного интегрирования методом трапеции. Словесное описание и блок-схема разработанного алгоритма программы. Описание интерфейса, главного окна и основных форм программы. Проверка работоспособности программы.
курсовая работа [1,4 M], добавлен 16.03.2012Разработка прикладного программного обеспечения для решения расчетных задач для компьютера. Численное интегрирование - вычисление значения определённого интеграла. Проектирование алгоритма численного метода. Тестирование работоспособности программы.
курсовая работа [1,1 M], добавлен 03.08.2011Метод хорд решения нелинейных уравнений. Вычисление интеграла методом Симпсона. Процесс численного решения уравнения. Окно программы расчета корней уравнения методом хорд. Алгоритм вычисления интеграла в виде блок-схемы. Выбор алгоритма для вычислений.
курсовая работа [832,6 K], добавлен 24.07.2012- Разработка программы, вычисляющей определенный интеграл методом трапеций для подынтегральной функции
Разработка алгоритма решения определенного интеграла методом трапеций для подынтегральной функции и моделирования задачи вынужденных колебаний без затухания. Описание интерфейса программы в среде Delphi и MathCad; идентификаторы, модули и приложения.
курсовая работа [500,4 K], добавлен 28.05.2013 Математическое обоснование метода решения задачи: определенный интеграл, квадратурная формула Симпсона (формула парабол). Словесное описание алгоритма и составление его блок-схемы. Выбор языка программирования. Текст программы решения задачи, ее листинг.
курсовая работа [593,6 K], добавлен 09.07.2012Формула Симпсона как интеграл от интерполяционного многочлена второй степени, рассмотрение сфер использования. Знакомство с основными особенностями и этапами написания программы для численного интегрирования с помощью формулы Симпсона, анализ примеров.
практическая работа [153,8 K], добавлен 16.03.2015Описание и функциональное назначение программы по оптимизации функции, ее логическая структура и используемые технические средства. Практическое применение программы, вызов и загрузка, входные и выходные данные, выполнение контрольного примера и листинг.
курсовая работа [337,4 K], добавлен 26.02.2012Разработка программы, выполняющей интегрирование методом входящих прямоугольников с кратностями и методом Симпсона. Расчет определённого интеграла приближенным и точным методами. Оценка погрешности при вычислении приблизительного значения интеграла.
контрольная работа [71,7 K], добавлен 13.02.2016Рассмотрение методов приближенного численного анализа. Формулы интегрирования, прямоугольников, трапеций, формула Симпсона. Оценка погрешностей интегрирования. Вычисление интеграла по формуле трапеций с тремя десятичными знаками и по формуле Симпсона.
курсовая работа [995,7 K], добавлен 09.07.2012Идея численного интегрирования. Создание программы, вычисляющей определенный интеграл методом трапеций. Листинг программы, результаты работы. Проверка в среде Mathcad. Зависимость точности вычисления от количества отрезков разбиения, расчет погрешности.
отчет по практике [106,8 K], добавлен 28.04.2013