Оценка точности методов численного интегрирования
КОНТРОЛЬНАЯ
РАБОТА
по курсу
дисциплины «Информатика»
ТЕМА: Оценка
точности методов численного интегрирования
Аннотация
В данной работе поднята проблема оценки точности методов численного
интегрирования. Представлен код программы, написанной на Языке программирования
С#, вычисляющей определенный интеграл заданной в варианте функции по заданному
в варианте методу, представлено ее действие на примере заданных в варианте
значений аргументов: шага интегрирования, левого и правого пределов. Описана
суть использованного метода. В заключении приведены выводы на основе полученных
результатов
Оглавление
Введение
. Изложение задания
. Код программы
. Результат работы программы
. Блок-схема программы
Заключение
Список используемой
литературы
Введение
Извечным отличаем цифровой информации от аналоговой заключалось в том,
что аналоговая информация сравнительно полно отражала реальный мир, в то время,
как цифровая информация передавала приближенные, или аппроксимированные данные,
при наиболее малом реальном объеме носителей и большей долговечностью хранения.
Соответственно, с самого начала существования цифровой техники (техники,
основанной на передаче, использовании, обработке и хранении цифровой
информации) имела место проблема аппроксимации (приближения к реальности)
данных с наименьшими погрешностями.
Требовалось выработать наиболее оптимальные методы приближения, при
которых данные передавались бы как можно более точные, но при этом не
требовалось бы выделять слишком большие ресурсы как памяти, так и обработчика
данных (к примеру, компьютера).
1. Изложение задания
1) Вариант задания.
Оценка точности численного интегрирования методом Симпсона. Вариант
задания-15: функция 2*х+3*х*х-х*х*х, нижний предел 2, верхний10, кратность
интегрирования 400.
Для функции f(x)=-x+x*x-x*x*x на интервале [0,4.5]
рассчитать определённый интеграл приближенным и точным методами, оценить
погрешность и вывести результаты на консоль. Для приближенного вычисления
определенного интеграла использовать метод Входящих прямоугольников с
кратностями: 0,25m,0,5m,0,75m,,1,25m,1,5m при m=300
3)Схема типа Integral
2. Код программы
using System;altysha
{
static double d = 0.25;
struct Integral
{
double a, b; //определение типа переменных, яввляющихся
пределами интегрировани
int m; // определение типа переменной, яввляющейся кратностью
интегрированияIntegral(double ina, double inb, int inm) //определение полей и
общедоступности типа
{
a = ina < inb ? ina : inb; ;//в случае если введенные
ina>=inb,помещение inb в а,если ina<inb ina в a
b = ina < inb ? inb : ina; ;// в случае если введенные
ina>=inb ,помещение ina в b,если если ina<inb inb в b
m = inm; //помещение в поле введенного значения
d = 0.25;
}
public override string ToString()//определение общедоступного
метод, возвращающий строку
{
string s = "";
if (d == 0.25)
double Delta = (прям - ИнтЛейбниц) / ИнтЛейбниц * 100;
//вычисление погрешности
Delta = Math.Abs(Delta);
s += string.Format("\nПогрешность={0:f7}% - {1}m",
Delta, d,h);s; //возвращение аргумента
}
public double fx(double x) // определение общедоступного
метода
{
return -x + x * x - x * x * x;
}
public double h//определение общедоступного свойства,в
котором вычисляется шаг численного интегрирования
{
get
{
return (b - a) / (m * d);
}
}
public double прям //определение общедоступного свойства,в
котором вычисляется интеграл численным методом
{
get
{
double sum = 0;
for (double i = a; i < b; k++)
{
sum += fx((i + a + (h * k)) / 2);
i = a + h * k;
}
return h * sum;
}
}
public double Fx(double x) // определение общедоступного
метода
{
return ((-x * x) / 2) + (x * x * x / 3) - (x * x * x * x /
4);double ИнтЛейбниц//определение общедоступного свойства,в котором вычисляется
точное значение интеграла
{
return Fx(b) - Fx(a);void Main()obj = new Integral(0, 4.5,
300);//значения переменных
for (d = 0.25; d <= 1.5; d += 0.25)
Console.WriteLine(obj.ToString());());//вывод на экран
Console.ReadKey();
}
интегрирование
прямоугольник погрешность кратность
3. Результат работы программы
4. Блок-схема программы
И так же Я узнал что чем больше кратность интегрирования тем меньше
погрешность.
Список используемой литературы
1.Воробьев
Г.Н., Бахвалов Н.С. «Численные методы». М.: Наука, 1973. 231с.
. Ефимов
А.В., Демидович Б.П. «Линейная алгебра и основы математического анализа». М.:
Наука, 2011. 386с.
. Бараненков
Г.С., Демидович Б.П. «Задачи и упражнения по математическому анализу для
ВТУЗОВ». М., 2012. 184с.
. Абрамов
С.А., Зима Е.В. «Начало программирования на языке Паскаль». М.: Наука, 2007.
8с.
. Епанешников
А.Е., Красильников Ю.И. «Программирование в среде турбо Паскаль». М.: Центр
МИФИ СП Диалог, 2010. 3-6с.