Помощь в написании студенческих работ
Антистрессовый сервис

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

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

В ходе работы для функции на интервале был рассчитан определенный интеграл приближенным и точным методом, оценена погрешность методов. Для приближенного вычисления определенного интеграла использовался метод выходящих прямоугольников с кратностью 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.

Показать весь текст
Заполнить форму текущей работой