Вычисление интеграла
Теория вычисления интеграла. Общее описание используемых численных методов: левых и правых прямоугольников, трапеции, Симпсона. Расчеты в математическом пакете Matlab и оформление результатов в таблице Excel. Описание приложения, созданного в Delphi.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.11.2017 |
Размер файла | 774,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Курсовая работа
Вычисление интеграла
Задание на выполнение курсовой работы
1. расчет, выполненный в математическом пакете Matlab (R2009b) (файл-функция для описания подынтегральной функции, график функции, решение в символьном и численном виде, вычисление с помощью циклов: четные и не четные варианты).
2. Вычисление интеграла в электронных таблицах MS Excel (вид подынтегральной функции, график функции, провести серию расчетов при n = 20, 30: методом левых и правых прямоугольников; методом трапеций и методом Симпсона).
3. Создание приложения для нахождения решения интегрального уравнения в среде Delphi (вид подынтегральной функции, график на заданном интервале, для каждого численного метода задать пользовательскую подпрограмму с передачей параметров). Итоговые результаты отобразить на форме в виде таблицы и в файле. Предусмотреть изменение точности значения (Е = 0,001).
4. вид уравнения
1. Теория вычисления интеграла. Описание используемых численных методов
Многие инженерные задачи, задачи физики, геометрии и многих других технических областях, приводят к необходимости вычислять определенный интеграл вида,
интеграл математический matlab delphi
где f(x) - подынтегральная функция, непрерывная на отрезке [a; b].
Если интеграл от данной функции не может быть вычислен по формуле Ньютона-Лейбница,
или если функция f(x) задана графически или таблицей, то для вычисления определенного интеграла применяют приближенные формулы. Для приближенного вычисления интеграла существует много численных методов, таких как:
1) Метод прямоугольников (правых и левых);
2) Трапеций;
3) Симпсона и др.
Метод прямоугольников (правых и левых)
Необходимость вычисления значений определенных интегралов при моделировании возникает достаточно часто.
Формула Ньютона-Лейбница
(1)
имеет ограниченное применение:
во-первых, не позволяет вычислить интегралы от таблично заданной подынтегральной функции f(x);
во-вторых, не всякая подынтегральная функция имеет первообразную F(x).
Численные методы интегрирования универсальны: позволяют вычислить значение определенного интеграла непосредственно по значениям подынтегральной функции f(x), независимо от способа ее задания или вида аналитического выражения.
Геометрический смысл определенного интеграла - площадь криволинейной трапеции, ограниченной осью OX, кривой f(x), и прямыми x = a и x = b (Рис. 1.).
Численные методы интегрирования основаны на различных способах оценки этой площади, поэтому полученные формулы численного интегрирования называются квадратурными (формулами вычисления площади).
Рассмотрим получение и применение простейших формул.
Отрезок [a, b] делят на n необязательно равных частей - элементарных отрезков. Принято такое деление отрезка называть сеткой, а точки xо, x1,…, xn - узлами сетки.
Рис. 1. Геометрический смысл определённого интеграла
Если сетка равномерная, то
(1)
- шаг сетки, при интегрировании - шаг интегрирования, а координата i-го узла вычисляется по формуле:
, (2)
Полная площадь криволинейной трапеции состоит из n элементарных криволинейных трапеций - элементарных площадей:
(3)
Метод правых треугольников
Метод левых прямоугольников
Метод трапеций
Метод трапеций является одним из методов численного интегрирования. Он позволяет вычислять определенные интегралы с заранее заданной степенью точности.
Поставим перед собой следующую задачу: пусть нам требуется приближенно вычислить определенный интеграл , где подынтегральная функция y=f(x) непрерывна на отрезке [a; b].
Разобьем отрезок [a; b] на n равных интервалов длины h точками . В этом случае шаг разбиения находим как и узлы определяем из равенства .
Рассмотрим подынтегральную функцию на элементарных отрезках .
Возможны четыре случая (на рисунке показаны простейшие из них, к которым все сводится при бесконечном увеличении n):
На каждом отрезке заменим функцию y=f(x) отрезком прямой, проходящей через точки с координатами и . Изобразим их на рисунке синими линиями:
В качестве приближенного значения интеграла возьмем выражение , то есть, примем .
Давайте выясним, что означает в геометрическом смысле записанное приближенное равенство. Это позволит понять, почему рассматриваемый метод численного интегрирования называется методом трапеций.
Мы знаем, что площадь трапеции находится как произведение полу суммы оснований на высоту. Следовательно, в первом случае площадь криволинейной трапеции приближенно равна площади трапеции с основаниями и высотой h, в последнем случае определенный интеграл приближенно равен площади трапеции с основаниями и высотой h, взятой со знаком минус. Во втором и третьем случаях приближенное значение определенного интеграла равно разности площадей красной и синей областей, изображенных на рисунке ниже.
Таким образом, мы подошли к сути метода трапеций, которая состоит в представлении определенного интеграла в виде суммы интегралов вида на каждом элементарном отрезке и в последующей приближенной замене .
Формула метода трапеций
В силу пятого свойства определенного интеграла .
Если вместо интегралов подставить их приближенные значения, то получится формула метода трапеций:
Оценка абсолютной погрешности метода трапеций
Абсолютная погрешность метода трапеций оценивается как.
Графическая иллюстрация метода трапеций.
Метод Симпсона (парабол)
Это более совершенный способ - график подынтегральной функции приближается не ломаной линией, а маленькими параболками. Сколько промежуточных отрезков - столько и маленьких парабол. Если взять те же три отрезка, то метод Симпсона даст ещё более точное приближение, чем метод прямоугольников или метод трапеций.
Пусть функция y = f(x) непрерывна на отрезке [a; b] и нам требуется вычислить определенный интеграл .
Разобьем отрезок [a; b] на n элементарных отрезков длины точками . Пусть точки являются серединами отрезков соответственно. В этом случае все «узлы» определяются из равенства .
Суть метода парабол
На каждом интервале подынтегральная функция приближается квадратичной параболой , проходящей через точки . Отсюда и название метода - метод парабол.
Это делается для того, чтобы в качестве приближенного значения определенного интеграла взять , который мы можем вычислить по формуле Ньютона-Лейбница. В этом и заключается суть метода парабол.
Геометрически это выглядит так:
Графическая иллюстрация метода парабол (Симпсона)
Красной линией изображен график функции y=f(x), синей линией показано приближение графика функции y=f(x) квадратичными параболами на каждом элементарном отрезке разбиения.
Вывод формулы метода Симпсона (парабол).
В силу пятого свойства определенного интеграла имеем
.
Для получения формулы метода парабол (Симпсона) нам осталось вычислить
.
Пусть (мы всегда можем к этому прийти, проведя соответствующее геометрическое преобразования сдвига для любого i = 1, 2,…, n).
Сделаем чертеж.
Покажем, что через точки проходит только одна квадратичная парабола . Другими словами, докажем, что коэффициенты определяются единственным образом.
Так как - точки параболы, то справедливо каждое из уравнений системы
Записанная система уравнений есть система линейных алгебраических уравнений относительно неизвестных переменных . Определителем основной матрицы этой системы уравнений является определитель Вандермонда , а он отличен от нуля для несовпадающих точек . Это указывает на то, что система уравнений имеет единственное решение (об этом говорится в статье решение систем линейных алгебраических уравнений), то есть, коэффициенты определяются единственным образом, и через точки проходит единственная квадратичная парабола.
Перейдем к нахождению интеграла
.
Очевидно:
Используем эти равенства, чтобы осуществить последний переход в следующей цепочке равенств:
Таким образом, можно получить формулу метода парабол:
Формула метода Симпсона (парабол) имеет вид
.
Оценка абсолютной погрешности метода Симпсона.
Абсолютная погрешность метода Симпсона оценивается как
2. Расчеты в математическом пакете Mat lab
В математическом пакете по условию задания был построен график функции и найден корень уравнения с использованием символьного решения и в численном виде используя встроенные функции. Для описания функции создан m-файл функции.
На следующем рисунке представлен график функции:
Для записи команд использован m-файл:
В командном окне были получены следующие результаты:
tochnoe = 0.56226
levpr = 0.5555
pravpr = 0.5691
trapezii = 0.5623
Sympson = 0.5623
3. Отчет о результатах вычисления приближенного значения корня уравнения в MS Excel
В MS Excel был проведен расчет приближенного значения корня уравнения.
Интерфейс программы:
График уравнения:
Корни, полученные в Excel:
4. Описание приложения созданного в среде Delphi
При создании приложения в среде Delphi в интерфейсе был предусмотрен вывод вида функции и графика. Нахождение корня уравнения интеграла было реализовано с использование трех методов: метода правых и левых прямоугольников, метода трапеций и метода Симпсона. В отличии от расчета в Excel, где корни находились, в программе предусмотрен ввод точности вычисления пользователем. Результаты расчета выводятся, как в окно приложения, так и в текстовый файл.
Блок - схемы, реализующие численные методы
Блок-схема для метода правых прямоугольников:
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Блок-схема для метода левых прямоугольников:
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Блок-схема для метода трапеций:
Блок-схема метода Симпсона:
Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Math, AxCtrls, OleCtrls, VCF1, ExtCtrls, TeeProcs,
TeEngine, Chart, Menus, Series, OleCtnrs;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Button3: TButton;
Edit2: TEdit;
F1Book1: TF1Book;
Edit3: TEdit;
Button5: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Chart1: TChart;
Edit4: TEdit;
Button4: TButton;
Series2: TLineSeries;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
Label4: TLabel;
OleContainer1: TOleContainer;
procedure Button1Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure Button3Click (Sender: TObject);
procedure Button5Click (Sender: TObject);
procedure Button4Click (Sender: TObject);
procedure N1Click (Sender: TObject);
procedure N2Click (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
a, b, h, s, x, e:real;
i, j, n:integer;
f:text;
str:string;
implementation
{$R *.dfm}
function integral (x:real):real;
begin
integral:=1/sqrt (power(x, 2)+2*x+2);
end;
procedure methlev;
begin
h:=(b-a)/(n-1);
x:=0;
s:=0;
while abs(s)<e do
for i:=2 to n do
begin
x:=x+h;
s:=s+integral(x)*h;
end;
end;
procedure methpr;
begin
h:=(b-a)/n;
x:=0;
s:=0;
while abs(s)<e do
for i:=1 to n do
begin
s:=s+integral(x)*h;
x:=x+h;
end;
end;
procedure methtr;
var
sa, sb:real;
begin
h:=(b-a)/n;
x:=0;
s:=0;
while abs(s)<e do
for i:=1 to n do
begin
sa:=integral(x);
sb:=integral (x+h);
s:=s+h*(sa+sb)/2;
x:=x+h;
end;
end;
procedure meths;
var
sa, sb, sh:real;
begin
h:=(b-a)/n;
x:=0;
s:=0;
while abs(s)<e do
for i:=1 to n do
begin
sa:=integral(x);
sb:=integral (x+h);
s:=s+(2*sa+sb)*h/3;
x:=x+h;
end;
end;
procedure TForm1. Button1Click (Sender: TObject);
begin
n:=StrToInt (Form1. Edit1. Text);
a:=StrToFloat (Form1. Edit2. Text);
b:=StrToFloat (Form1. Edit3. Text);
e:=StrToFloat (Edit4. Text);
methlev;
F1Book1.textRC [1,1]:= 'Method';
F1Book1.textRC [1,2]:='levix';
F1Book1.textRC [2,1]:= 'S=';
F1Book1.numberRC [2,2]:=s;
end;
procedure TForm1. Button2Click (Sender: TObject);
begin
n:=StrToInt (Edit1. Text);
a:=StrToFloat (Edit2. Text);
b:=StrToFloat (Edit3. Text);
e:=StrToFloat (Edit4. Text);
methpr;
F1Book1.textRC [1,3]:='pravix';
F1Book1.numberRC [2,3]:=s;
end;
procedure TForm1. Button3Click (Sender: TObject);
begin
n:=StrToInt (Edit1. Text);
a:=StrToFloat (Edit2. Text);
b:=StrToFloat (Edit3. Text);
e:=StrToFloat (Edit4. Text);
methtr;
F1Book1.textRC [1,4]:='trapezii';
F1Book1.numberRC [2,4]:=s;
end;
procedure TForm1. Button5Click (Sender: TObject);
begin
n:=StrToInt (Edit1. Text);
a:=StrToFloat (Edit2. Text);
b:=StrToFloat (Edit3. Text);
e:=StrToFloat (Edit4. Text);
meths;
F1Book1.textRC [1,5]:='sumpsona';
F1Book1.numberRC [2,5]:=s;
end;
procedure TForm1. Button4Click (Sender: TObject);
var y:real;
begin
form1. Chart1. Series[0].Clear;
n:=StrToInt (Edit1. Text);
a:=StrToFloat (Edit2. Text);
b:=StrToFloat (Edit3. Text);
e:=StrToFloat (Edit4. Text);
h:= (b-a)/n;
x:=a;
Chart1. Series[0].AddXY (x, y, '', clRed);
for i:=1 to n do begin
x:=x+h;
y:=integral(x);
Chart1. Series[0].AddXY (x, y, '', clRed);
end;
end;
procedure TForm1.N1Click (Sender: TObject);
begin
close;
end;
procedure TForm1.N2Click (Sender: TObject);
begin
AssignFile (f, 'Корни');
rewrite(f);
for i:=1 to n do begin
str:='';
for j:=1 to n do str:=str+F1Book1. TextRC [i, j]+' ';
writeln (f, str);
end;
closeFile(f);
end;
end.
Изображение окна приложения
Первоначальный интерфейс имеет следующий вид:
После выполнения расчетов при E<= 0,0001:
В качестве отчета был сформирован файл «Корни.txt»:
5. Анализ полученных результатов
В соответствии с заданием на курсовую работу в математическом пакете мною было найдено решение определенного интеграла и построен график.
В электронных таблицах был найден корень уравнения. Результаты практически совпали с результатами в Matlab.
Для поиска корня в среде Delphi пользователь имеет возможность ввести точность вычисления с клавиатуры.
Таким образом, расчеты показали, что можно найти решение определенного интеграла в разных средах. Наиболее трудоемким расчет оказался в среде Delphi.
Литература
1. Фаронов В.В. Delphi. Программирование на языке высокого уровня
2. Уокенбах Д. Microsoft Office Excel 2007
3. Матющенко М.А. Matlab. Первые шаги.
Размещено на Allbest.ru
...Подобные документы
Теория вычисления интеграла и описание используемых численных методов (метод левых и правых прямоугольников, метод трапеции, метод Симпсона). Расчеты в пакете Matlab. Отчет о результатах вычисления в MS Excel. Описание приложения созданного в Delphi.
курсовая работа [2,8 M], добавлен 18.08.2014Средства Delphi для разработки Windows приложений. Математическая формулировка задачи, описание программы вычисления определенного интеграла по формуле левых прямоугольников. Руководство пользователя, методика испытаний продукта. Листинг программы.
курсовая работа [178,1 K], добавлен 14.11.2010Методы левых и правых прямоугольников численного интегрирования для вычисления интегралов. Геометрический смысл определённого интеграла. Программная реализация, блок-схемы алгоритмов. Результат работы тестовой программы. Решение задачи с помощью ЭВМ.
курсовая работа [180,4 K], добавлен 15.06.2013Создание программного модуля для вычисления интеграла по формулам трапеции и Симпсона, определяя шаг интегрирования по оценке остаточного члена. Для разработки используется табличный процессор Excel и язык программирования Visual Basic for Application.
курсовая работа [159,7 K], добавлен 30.08.2010Решение циклических программ и программ вычисления функции с условием. Уравнение в табличном редакторе Microsoft Excel и в Turbo Pascal. Вычисление определенного интеграла методом прямоугольников, трапеции, Симпсона. Линейные и нелинейные уравнения.
курсовая работа [233,6 K], добавлен 27.12.2009Создание приложения, демонстрирующего решение нелинейного уравнения методом хорд, вычисление интеграла методом Симпсона. Характеристика системы программирования. Разработка мощных систем для работы с локальными и удаленными базами данных с помощью Delphi.
дипломная работа [846,0 K], добавлен 22.09.2012Требования к аппаратным ресурсам персонального компьютера. Расчет цены и прибыли на программное средство. Процедура нахождения значения интеграла методом Симпсона, трапеции, прямоугольников. Формы для ввода и вывода данных с доступным интерфейсом.
дипломная работа [7,4 M], добавлен 11.06.2012Метод хорд решения нелинейных уравнений. Вычисление интеграла методом Симпсона. Процесс численного решения уравнения. Окно программы расчета корней уравнения методом хорд. Алгоритм вычисления интеграла в виде блок-схемы. Выбор алгоритма для вычислений.
курсовая работа [832,6 K], добавлен 24.07.2012Формулирование и создание программы по вычислению определенного интеграла по формуле трапеций с тремя десятичными знаками и по формуле Симпсона. Выбор Delphi как программного средства разработки программы. Создание алгоритма и листинг программы.
курсовая работа [990,9 K], добавлен 15.06.2009Рассмотрение методов прямоугольников и трапеций как способов вычисления определенных интегралов. Характеристика графика зависимости погрешности от числа разбиений N. Создание приложения по вычислению интеграла с помощью методов приближенного вычисления.
курсовая работа [1,6 M], добавлен 20.06.2012Методы и алгоритмы вычисления определенных интегралов: метод трапеций и метод Симпсона (метод парабол). Оформление функции вычисления заданного определённого интеграла на Visual Basic 6.0. Программный код функции. Создание приложения для вычисления.
курсовая работа [483,6 K], добавлен 25.06.2014Рассмотрение методов приближенного численного анализа. Формулы интегрирования, прямоугольников, трапеций, формула Симпсона. Оценка погрешностей интегрирования. Вычисление интеграла по формуле трапеций с тремя десятичными знаками и по формуле Симпсона.
курсовая работа [995,7 K], добавлен 09.07.2012Численные методы. Создание программного продукта, использование которого позволит одновременно исследовать два метода вычисления определенных интегралов: метод трапеций и метод Симпсона. Рассмотрен ход вычисления интеграла в виде кода программы.
курсовая работа [834,6 K], добавлен 14.04.2019Разработка программы, выполняющей интегрирование методом входящих прямоугольников с кратностями и методом Симпсона. Расчет определённого интеграла приближенным и точным методами. Оценка погрешности при вычислении приблизительного значения интеграла.
контрольная работа [71,7 K], добавлен 13.02.2016Знакомство с наиболее известными технологиями программирования. Особенности разработки программ для вычисления интеграла по формуле средних прямоугольников. Общая характеристика методов структурного программирования. Рассмотрение формулы Симпсона.
курсовая работа [1,3 M], добавлен 03.03.2015Методика и основные этапы процесса поиска уравнения по методу половинного деления, его сущность и содержание, анализ результатов. Порядок вычисления экстремумов функции методом перебора. Расчет определенного интеграла по методу правых прямоугольников.
контрольная работа [200,9 K], добавлен 20.01.2014MPI - библиотека передачи сообщений на языке программирования C/C++, ее переносимость, стандартизация, эффективная работа, функциональность. Форматы фактических вызовов MPI. Метод прямоугольников для приближенного вычисления определенного интеграла.
курсовая работа [286,0 K], добавлен 20.06.2012Разработка различных программ для вычисления X и Y по формуле, для вычисления интеграла, для вычисления таблицы значений функции и для вычисления элементов вектора. Составление блок-схемы программы. Ввод значений, описание переменных и условия расчета.
контрольная работа [148,1 K], добавлен 08.11.2013Математическая основа параллельных вычислений. Свойства Parallel Computing Toolbox. Разработка параллельных приложений в Matlab. Примеры программирования параллельных задач. Вычисление определенного интеграла. Последовательное и параллельное перемножение.
курсовая работа [1,1 M], добавлен 15.12.2010Математическое описание, алгоритм и программа вычисления определенного интеграла методом трапеций. Расчет n-значений исследуемой функции и вывод их в виде таблицы. Технические и программные средства. Входные и выходные данные, функциональное назначение.
курсовая работа [21,0 K], добавлен 03.01.2010