Оценка точности методов численного интегрирования

Разработка программы на языке высокого уровня, позволяющей для заданной функции рассчитать определенный интеграл приближенным и точным методом, оценить погрешность и вывести результаты на консоль. Определение площади методом входящих прямоугольников.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.