Вход

Численное интегрирование

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 119807
Дата создания 2009
Страниц 22
Источников 6
Мы сможем обработать ваш заказ (!) 29 марта в 18:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
2 000руб.
КУПИТЬ

Содержание

Оглавление
Введение……………………………………………………………………….
Задание на выполнение курсовой работы…………………………………...
1 Теоретическая часть………………………………………………………...
1.1 Методы численного интегрирования………………………………
1.2 Программные продукты реализации численных методов………..
2 Практическая часть…………………………………………………………
2.1 Вычисления в среде Mathematica…………………………………..
2.2 Алгоритмы численных методов интегрирования…………………
2.3 Описание программы «Численное интегрирование»……………..
2.4 Результаты работы программы «Численное интегрирование»…..
Заключение……………………………………………………………………
Литература…………………………………………………………………….
Приложение 1 Листинг программы «Численное интегрирование»……….
Приложение 2 Скриншот программы «Численное интегрирование»……..
4
5
5
8
9
9
10
11
12
15
16
17
22

Фрагмент работы для ознакомления

');
Result:=0;
Exit;
end;
end; // case
Form1.Series1.AddXY(x-h,y);
Result:=Result*h;
end;
// Метод трапеций
function IntegralT(a, b: real; m, f: integer): real;
var h, x, y: real;
j: integer;
begin
Form1.Series1.Stairs:=false;
h:=(b-a)/m;
x:=a+h;
case f of // Выбор функции
1: begin
Result:=(fun1(a,Alpha)+fun1(b,Alpha))/2;
Form1.Series1.AddXY(a,fun1(a,Alpha));
for j:=1 to m-1 do begin
y:=fun1(x,Alpha);
Form1.Series1.AddXY(x,y);
x:=x+h;
Result:=Result+y;
end;
Form1.Series1.AddXY(b,fun1(b,Alpha));
end;
2: begin
Result:=(fun2(a,Alpha,Beta)+fun2(b,Alpha,Beta))/2;
Form1.Series1.AddXY(a,fun2(a,Alpha,Beta));
for j:=1 to m-1 do begin
y:=fun2(x,Alpha,Beta);
Form1.Series1.AddXY(x,y);
x:=x+h;
Result:=Result+y;
end;
Form1.Series1.AddXY(b,fun2(b,Alpha,Beta));
end;
else begin
ShowMessage('Ошибка!');
Result:=0;
Exit;
end;
end; // case
Result:=Result*h;
end;
// Метод Симпсона
function IntegralS(a, b: real; m, f: integer): real;
var h, x, y: real;
j, n: integer;
i0, i1, i2: real;
begin
Form1.Series1.Stairs:=false;
n:=2*m;
h:=(b-a)/n;
i2:=0;
case f of // Выбор функции
1: begin
i0:=fun1(a,Alpha)+fun1(b,Alpha);
i1:=fun1(a+h,Alpha);
Form1.Series1.AddXY(a,fun1(a,Alpha));
Form1.Series1.AddXY(a+h,fun1(a+h,Alpha));
for j:=1 to m-1 do begin
x:=a+2*j*h;
y:=fun1(x,Alpha);
i2:=i2+fun1(x,Alpha);
Form1.Series1.AddXY(x,y);
x:=a+(2*j+1)*h;
y:=fun1(x,Alpha);
i1:=i1+y;
Form1.Series1.AddXY(x,y);
end;
Form1.Series1.AddXY(b,fun1(b,Alpha));
end;
2: begin
i0:=fun2(a,Alpha,Beta)+fun2(b,Alpha,Beta);
i1:=fun2(a+h,Alpha,Beta);
Form1.Series1.AddXY(a,fun2(a,Alpha,Beta));
Form1.Series1.AddXY(a+h,fun2(a+h,Alpha,Beta));
for j:=1 to m-1 do begin
x:=a+2*j*h;
y:=fun2(a+2*j*h,Alpha,Beta);
i2:=i2+y;
Form1.Series1.AddXY(x,y);
x:=a+(2*j+1)*h;
y:=fun2(a+(2*j+1)*h,Alpha,Beta);
i1:=i1+y;
Form1.Series1.AddXY(x,y);
end;
Form1.Series1.AddXY(b,fun2(b,Alpha,Beta));
end;
else begin
ShowMessage('Ошибка!');
Result:=0;
Exit;
end;
end; // case
Result:=h/3*(i0+4*i1+2*i2);
end;
// Вычислить
procedure TForm1.Button1Click(Sender: TObject);
var a, b, h: real;
m, f, j: integer;
I, I0: real;
begin
Series1.Clear; Series2.Clear; Series3.Clear;
Alpha:=StrToFloat(Edit1.Text);
if sqr(Alpha)>=1 then begin
ShowMessage('-1 < Alpha < 1');
Exit;
end;
Beta:=StrToFloat(Edit2.Text);
if Beta<=1 then begin
ShowMessage('Beta > 1');
Exit;
end;
a:=StrToFloat(Edit3.Text); // Левый предел
b:=StrToFloat(Edit4.Text); // Правый предел
m:=StrToInt (Edit5.Text); // Число интервалов
f:=RadioGroup2.ItemIndex+1; // Номер ф-ции
case RadioGroup1.ItemIndex of // Выбор метода интегрирования
0: I:=IntegralLeftP (a, b, m, f);
1: I:=IntegralMiddleP(a, b, m, f);
2: I:=IntegralRightP (a, b, m, f);
3: I:=IntegralT (a, b, m, f);
4: I:=IntegralS (a, b, m, f);
end; // case RadioGroup2.ItemIndex
Series3.AddXY(a,0); Series3.AddXY(b,0);
h:=(b-a)/1001;
case f of // Точное значение интеграла и график ф-ции
1: begin
I0:=pi*Alpha/(1-sqr(Alpha));
for j:=0 to 1000 do Series2.AddXY(a+j*h,fun1(a+j*h,Alpha));
end;
2: begin
I0:=2/5/Beta*(sqrt(sqr(sqr(Alpha+Beta*b))*(Alpha+Beta*b))-
sqrt(sqr(sqr(Alpha+Beta*a))*(Alpha+Beta*a)));
for j:=0 to 1000 do Series2.AddXY(a+j*h,fun2(a+j*h,Alpha,Beta));
end;
end; // case f
Memo1.Lines.Add('-------------------------------------------------------');
Memo1.Lines.Add('Метод: '+RadioGroup1.Items.Strings[RadioGroup1.ItemIndex]);
Memo1.Lines.Add('Функция: '+IntToStr(f));
Memo1.Lines.Add('a = '+FloatToStr(a));
Memo1.Lines.Add('b = '+FloatToStr(b));
Memo1.Lines.Add('m = '+IntToStr(m));
Memo1.Lines.Add('Результат: '+FloatToStr(I));
Memo1.Lines.Add('Точный результат: '+FloatToStr(I0));
Memo1.Lines.Add('-------------------------------------------------------');
Memo1.Lines.SaveToFile('Report.txt');
end;
// Очистить
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Clear;
Series1.Clear; Series2.Clear; Series3.Clear;
end;
// Смена пределов интегрирования
procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
case RadioGroup2.ItemIndex of
0: begin
Edit3.Text:='0';
Edit4.Text:='3,14';
end;
1: begin
Edit3.Text:='1';
Edit4.Text:='2,5';
end;
end;
end;
// Cохранение картинки в файл
procedure TForm1.Chart1DblClick(Sender: TObject);
begin
Chart1.SaveToBitmapFile('Graph.bmp');
end;
end.
Приложение 2
Скриншот программы «Численное интегрирование»
22

Список литературы [ всего 6]

Литература
1.Колдаев В.Д. Численные методы и программирование: Учебное пособие. – М.: Форум, Инфра-М, 2008. – 336с.
2.Вержбицкий В.М. Основы численных методов. – М.: Высшая школа, 2005. – 840с.
3.Бобровский С. Delphi 7. Учебный курс. – СПб.: Питер, 2003. – 736с.
4.Архангельский А.Я. Delphi 7. Справочное пособие. – М.: ООО «Бином-Пресс», 2004. – 1024с.
5.Архангельский А.Я. Программирование в Delphi 7. – М.: ООО «Бином-Пресс», 2003. – 1152с.
6.Архангельский А.Я. Приемы программирования в Delphi. – М.: ООО «Бином-Пресс», 2004. – 848с.

Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.02094
© Рефератбанк, 2002 - 2024