Оценка точности методов численного интегрирования
Разработка программы на языке высокого уровня, позволяющей для заданной функции рассчитать определенный интеграл приближенным и точным методом, оценить погрешность и вывести результаты на консоль. Определение площади методом входящих прямоугольников.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.08.2012 |
Размер файла | 225,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
СОДЕРЖАНИЕ
- ВВЕДЕНИЕ 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.
Размещено на Allbest.ru
Подобные документы
Разработка программы, выполняющей интегрирование методом входящих прямоугольников с кратностями и методом Симпсона. Расчет определённого интеграла приближенным и точным методами. Оценка погрешности при вычислении приблизительного значения интеграла.
контрольная работа [71,7 K], добавлен 13.02.2016Идея численного интегрирования. Создание программы, вычисляющей определенный интеграл методом трапеций. Листинг программы, результаты работы. Проверка в среде Mathcad. Зависимость точности вычисления от количества отрезков разбиения, расчет погрешности.
отчет по практике [106,8 K], добавлен 28.04.2013Разработка программы, которая вычисляет определенный интеграл методом трапеций для подынтегральной функции и моделирует задачу вынужденных колебаний без затухания. Описание интерфейса программы в среде Delphi. Решение задачи с помощью пакета MathCAD.
курсовая работа [738,8 K], добавлен 24.05.2013Разработка программы, которая по заданной самостоятельно функции будет выполнять интегрирование методом прямоугольников. Блок-схема алгоритма вычисления интеграла (функция rectangle_integrate). Экспериментальная проверка программы, ее текст на языке C.
курсовая работа [232,0 K], добавлен 27.05.2013Методы левых и правых прямоугольников численного интегрирования для вычисления интегралов. Геометрический смысл определённого интеграла. Программная реализация, блок-схемы алгоритмов. Результат работы тестовой программы. Решение задачи с помощью ЭВМ.
курсовая работа [180,4 K], добавлен 15.06.2013Рассмотрение методов приближенного численного анализа. Формулы интегрирования, прямоугольников, трапеций, формула Симпсона. Оценка погрешностей интегрирования. Вычисление интеграла по формуле трапеций с тремя десятичными знаками и по формуле Симпсона.
курсовая работа [995,7 K], добавлен 09.07.2012Разработка алгоритма решения задачи численного интегрирования методом трапеции. Словесное описание и блок-схема разработанного алгоритма программы. Описание интерфейса, главного окна и основных форм программы. Проверка работоспособности программы.
курсовая работа [1,4 M], добавлен 16.03.2012- Разработка программы, вычисляющей определенный интеграл методом трапеций для подынтегральной функции
Разработка алгоритма решения определенного интеграла методом трапеций для подынтегральной функции и моделирования задачи вынужденных колебаний без затухания. Описание интерфейса программы в среде Delphi и MathCad; идентификаторы, модули и приложения.
курсовая работа [500,4 K], добавлен 28.05.2013 Особенности метода численного интегрирования функции одной переменной. Замена на каждом элементарном отрезке подынтегральной функции на многочлен первой степени (линейную функцию). Разработка алгоритма программы, ее листинг. Пример работы программы.
контрольная работа [217,9 K], добавлен 14.07.2012Математическое описание задачи решения обыкновенного дифференциального уравнения численным явным методом Рунге-Кутта, разработка схемы алгоритма и написание программы в среде программирования Microsoft Visual Studio 2010. Тестирование работы программы.
курсовая работа [1,1 M], добавлен 22.01.2014