Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Тема: «Вычисление интеграла»



РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ НЕФТИ И ГАЗА им. И.М. ГУБКИНА

Кафедра информатики

Курсовая работа

по дисциплине «Информатика».

Тема: «Вычисление интеграла»

Выполнила: студентка

Группы ГИ-12-05

Солоп Д. И.

Проверила: Ключникова Т.А.

Москва, 2014

 


Оглавление

Задание на выполнение курсовой работы. 3

Теория вычисления интеграла. Описание используемых численных методов. 4

1. Метод левых и правых прямоугольников. 5

2. Метод трапеции. 8

3. Метод Симпсона. 12

Расчеты в математическом пакете Matlab. 17

Отчет о результатах вычисления в MS Excel. 20

Описание приложения созданного в среде Delphi. 22

Блок – схемы реализующие численные методы.. 23

Листинг программы.. 27

Изображение окна приложения. 35

Анализ полученных результатов. 37

Литература. 38

 


Задание на выполнение курсовой работы.

 

1. расчет, выполненный в математическом пакете Matlab (R2009b ) (файл-функция для описания подынтегральной функции, график функции, решение в символьном и численном виде, вычисление с помощью циклов: четные и не четные варианты).

2. Вычисление интеграла в электронных таблицах MS Excel (вид подынтегральной функции, график функции, провести серию расчетов при n = 20, 30: методом левых и правых прямоугольников; методом трапеций и методом Симпсона).

3. Создание приложения для нахождения решения интегрального уравнения в среде Delphi (вид подынтегральной функции, график на заданном интервале, для каждого численного метода задать пользовательскую подпрограмму с передачей параметров). Итоговые результаты отобразить на форме в виде таблицы и в файле. Предусмотреть изменение точности значения (Е = 0, 001).

4. вид уравнения

 


Теория вычисления интеграла.

Описание используемых численных методов.

 

Многие инженерные задачи, задачи физики, геометрии и многих других технических областях, приводят к необходимости вычислять определенный интеграл вида,

 

 

где f(x) – подынтегральная функция, непрерывная на отрезке [a; b].

 

Если интеграл от данной функции не может быть вычислен по формуле Ньютона-Лейбница,

 

 

или если функция f(x) задана графически или таблицей, то для вычисления определенного интеграла применяют приближенные формулы. Для приближенного вычисления интеграла существует много численных методов, таких как:

 

1) Метод прямоугольников (правых и левых);

2) Трапеций;

3) Симпсона и др.

 


1. Метод прямоугольников (правых и левых)

Необходимость вычисления значений определенных интегралов при моделировании возникает достаточно часто.

 

Формула Ньютона-Лейбница

 

(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)

a) Метод правых треугольников

 

 

 

 

 

б) Метод левых прямоугольников

 

 

 

Метод трапеций

 

 

Метод трапеций является одним из методов численного интегрирования. Он позволяет вычислять определенные интегралы с заранее заданной степенью точности.

 

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

Листинг программы

unit Unit1;

Interface

Uses

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»:


Анализ полученных результатов

 

 

В соответствии с заданием на курсовую работу в математическом пакете мною было найдено решение определенного интеграла и построен график.

В электронных таблицах был найден корень уравнения. Результаты практически совпали с результатами в Matlab.

Для поиска корня в среде Delphi пользователь имеет возможность ввести точность вычисления с клавиатуры.

Таким образом, расчеты показали, что можно найти решение определенного интеграла в разных средах. Наиболее трудоемким расчет оказался в среде Delphi.


Литература.

1. Фаронов В.В. Delphi. Программирование на языке высокого уровня

2. Уокенбах Д. Microsoft Office Excel 2007

3. Матющенко М.А. Matlab. Первые шаги.

 

РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ НЕФТИ И ГАЗА им. И.М. ГУБКИНА

Кафедра информатики

Курсовая работа

по дисциплине «Информатика».

Тема: «Вычисление интеграла»

Выполнила: студентка

Группы ГИ-12-05

Солоп Д. И.

Проверила: Ключникова Т.А.

Москва, 2014

 


Оглавление

Задание на выполнение курсовой работы. 3

Теория вычисления интеграла. Описание используемых численных методов. 4

1. Метод левых и правых прямоугольников. 5

2. Метод трапеции. 8

3. Метод Симпсона. 12

Расчеты в математическом пакете Matlab. 17

Отчет о результатах вычисления в MS Excel. 20

Описание приложения созданного в среде Delphi. 22

Блок – схемы реализующие численные методы.. 23

Листинг программы.. 27

Изображение окна приложения. 35

Анализ полученных результатов. 37

Литература. 38

 


Задание на выполнение курсовой работы.

 

1. расчет, выполненный в математическом пакете Matlab (R2009b ) (файл-функция для описания подынтегральной функции, график функции, решение в символьном и численном виде, вычисление с помощью циклов: четные и не четные варианты).

2. Вычисление интеграла в электронных таблицах MS Excel (вид подынтегральной функции, график функции, провести серию расчетов при n = 20, 30: методом левых и правых прямоугольников; методом трапеций и методом Симпсона).

3. Создание приложения для нахождения решения интегрального уравнения в среде Delphi (вид подынтегральной функции, график на заданном интервале, для каждого численного метода задать пользовательскую подпрограмму с передачей параметров). Итоговые результаты отобразить на форме в виде таблицы и в файле. Предусмотреть изменение точности значения (Е = 0, 001).

4. вид уравнения

 


Поделиться:



Популярное:

  1. Лекция № 12. Тема: «Сестринский процесс при острой гнойной хирургической инфекции».
  2. ЛЕКЦИЯ № 13. Тема: «Сестринский процесс при хронической и анаэробной хирургической инфекции».
  3. Лекция № 15. Тема: «Сестринский процесс при травмах органов грудной клетки».
  4. Лекция № 16. Тема: «Сестринский процесс при хирургических заболеваниях органов грудной полости».
  5. Лекция № 18. Тема: «Сестринский процесс при хирургических заболеваниях органов брюшной полости».
  6. Лекция № 22. Тема: «Сетринский процесс при черепно-мозговых травмах».
  7. Лекция № 9. Тема: «Сестринский процесс при ранах».
  8. Лекция №3 Тема: «СЭР хирургического отделения и операционного блока»
  9. Лекция №4. Тема: «Сестринская помощь при кровотечениях»
  10. Лекция №5. Тема: «Сестринская помощь в трансфузиологии»
  11. Лекция №6. Тема: «Десмургия».
  12. Раздел 3. Тема: ВЗАИМОСВЯЗЬ ГОСУДАРСТВЕННОЙ ГРАЖДАНСКОЙ И МУНИЦИПАЛЬНОЙ СЛУЖБЫ.


Последнее изменение этой страницы: 2016-07-13; Просмотров: 607; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.121 с.)
Главная | Случайная страница | Обратная связь