Оценка точности методов численного интегрирования
В ходе работы для функции на интервале был рассчитан определенный интеграл приближенным и точным методом, оценена погрешность методов. Для приближенного вычисления определенного интеграла использовался метод выходящих прямоугольников с кратностью 0,25m, 0,50m, 0,75m, m, 1,25m, 1,50m, где m = 600, с учетом и без учета дополнительного члена. В результате работы был сделан ряд выводов: На интервале… Читать ещё >
Оценка точности методов численного интегрирования (реферат, курсовая, диплом, контрольная)
- ВВЕДЕНИЕ 2
- 1. ПОСТАНОВКА ЗАДАЧИ В МАТЕМАТИЧЕСКОЙ ФОРМЕ 3
- 2. СХЕМА ТИПОВ 4
- 3. ТЕКСТ ПРОГРАММЫ 5
- 4. БЛОК-СХЕМА ПРОГРАММЫ 8
- 5. ПОЛУЧЕННЫЕ РЕЗУЛЬТАТЫ 10
- ВЫВОДЫ 11
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 12
- ВВЕДЕНИЕ
- Для функции
- (1)
- на интервале рассчитать определенный интеграл приближенным и точным методом, оценить погрешность и вывести результаты на консоль. Для приближенного вычисления определенного интеграла использовать метод выходящих прямоугольников с кратностью 0,25m, 0,50m, 0,75m, m, 1,25m, 1,50m, где m = 600, с учетом и без учета дополнительного члена.
- 1. ПОСТАНОВКА ЗАДАЧИ В МАТЕМАТИЧЕСКОЙ ФОРМЕ
- В методе выходящих прямоугольников площадь под графиком функции, с учетом того что функция убывающая и положительная, может быть определена следующим образом:
- программа интеграл функция погрешность
- (2),
- Где m — кратность интегрирования
- Для уточнения значения интеграла существует формула остаточного члена
- (3),
- где
- (4)
- На рисунке 1 показана геометрическая интерпретация метода выходящих прямоугольников
- Рисунок 1 — Вычисление определенного интеграла функции на интервале методом выходящих прямоугольников
2. СХЕМА ТИПОВ
Для решения поставленной задачи целесообразно использовать структурный тип следующей конструкции, изображенной на рисунке 2.
Рисунок 2 — Схема типа Integral
3. ТЕКСТ ПРОГРАММЫ
using System;
using System.Collections.Generic;
using System. Linq;
using System. Text;
namespace Integral1
{
class Интеграл1
{
struct Integral
{
double a, b;
int m;
public Integral (double ina, double inb, int inm)
{
a = ina < inb? ina: inb;
b = ina < inb? inb: ina;
m = inm;
}
public override string ToString ()
{
string s;
s = String. Format («nm = {0:f3} h = {1:f3} Точ = {2:f3} Прибл = {3:f3} Прибл с ОЧ = {4:f3}», m, h, ИнтЛейбниц, ИнтПрямоугольник, ИнтПрямоугольникДоп);
double Delta = (ИнтПрямоугольник — ИнтЛейбниц) / ИнтЛейбниц * 100;
double DeltaОЧ = (ИнтПрямоугольникДоп — ИнтЛейбниц) / ИнтЛейбниц * 100;
Delta = Math. Abs (Delta);
DeltaОЧ = Math. Abs (DeltaОЧ);
s += String. Format («n Погр = {0:f3} %», Delta);
s += String. Format («Погр с ОЧ = {0:f3} %», DeltaОЧ);
return s;
}
public double fx (double x)
{
return Math. Cos (x);
}
public double Fx (double x)
{
return Math. Sin (x);
}
public double h
{
get
{
return (b — a) / m;
}
}
public double ИнтЛейбниц
{
get
{
return Fx (b) — Fx (a);
}
}
public double ИнтПрямоугольник
{
get
{
double sum = fx (a) + fx (b-h);
for (double i = h; i < b-h; i += h) sum += fx (i);
sum *= h;
return sum;
}
}
public double ИнтПрямоугольникДоп
{
get
{
double Eps = 0;
double Eps1;
double Eps2;
for (double j = a; j < b + h; j += h)
{
Eps1 = Math. Abs (Eps);
Eps2 = Math. Abs (Math.Cos (j));
Eps = Math. Max (Eps1, Eps2);
}
double dop;
dop = ((b-a)*h*Eps) / 2;
double sum1 = fx (a) + fx (b-h);
for (double i = h; i < b-h; i += h) sum1 += fx (i);
sum1 = (sum1 * h)-dop;
return sum1;
}
}
}
static void Main ()
{
Console.WriteLine («Оценка точности методов численного интегрирования»);
Console.WriteLine («nФункция f (x)=Cos (x)t Пределы интегрирования: a = 0, b = pi/2»);
Console.WriteLine («Метод точного расчетаt Метод Лейбница»);
Console.WriteLine («Метод приближенного расчетаt Метод Выходящих пряммоугольников»);
int m1 = 600;
for (int i = Convert. ToInt16(0.25 * m1); i < Convert. ToInt16(1.75 * m1); i += Convert. ToInt16(0.25 * m1))
{
Integral obj = new Integral (0, 1.571, i);
Console.WriteLine (obj.ToString ());
}
Console.ReadLine ();
}
}
}
4. БЛОК-СХЕМА ПРОГРАММЫ
На рисунке 3 изображена блок-схема работы программы.
Рисунок 3 — Блок-схема работы программы
5. ПОЛУЧЕННЫЕ РЕЗУЛЬТАТЫ
На рисунке 4 отображены результаты работы программы.
Рисунок 4 — Результаты работы программы
ВЫВОДЫ
В ходе работы для функции на интервале был рассчитан определенный интеграл приближенным и точным методом, оценена погрешность методов. Для приближенного вычисления определенного интеграла использовался метод выходящих прямоугольников с кратностью 0,25m, 0,50m, 0,75m, m, 1,25m, 1,50m, где m = 600, с учетом и без учета дополнительного члена. В результате работы был сделан ряд выводов:
· точная величина интеграла функции на интервале, полученная методов Лейбница, равна 1;
· значение интеграла, полученное методом Выходящих прямоугольников, больше точного значения;
· при увеличении кратности, погрешность между величинами интеграла, полученными методами Лейбница и Выходящих прямоугольников, уменьшается;
· метод выходящих прямоугольников с остаточным членом дает лучший результат по сравнению с методом выходящих прямоугольников без остаточного члена.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Котов О. М.
Введение
в программирование на языке C#: Методические указания. Екатеринбург: УрфУ, 2011. 26с.
2. Павловская Т. А. С#. Программирование на языке высокого уровня. — СПб.: Питер, 2009.