Главный член асимптотики имеет вид
. (1.12)Пример 8.Покажем, что при
.Имеем
, так что интеграл имеет вид интеграла Лапласа (1.1),где
Функция достигает максимума при , причемИнтеграл выяисляется по формуле (1.12):
Получили формулу:
Пример 9. Покажем, что при
Воспользуемся тождеством
.Тогда сумма примет вид
.В данном случае
; остается применить теорему 1.3.6.Программа и численные результаты
Следующая программа вычисляет интеграл по формуле Симпсона и методом Лапласа:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label5: TLabel;
StatusBar1: TStatusBar;
Button1: TButton;
Button2: TButton;
GroupBox2: TGroupBox;
Panel1: TPanel;
Panel2: TPanel;
Label6: TLabel;
Label7: TLabel;
procedure Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Edit2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Edit3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Edit4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x,v,a,b,r,r2,h,eps,lam,lap: extended;
n: integer;
implementation
{$R *.dfm}
procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.SimpleText:='Введитенижнююграницу';
end;
procedure TForm1.Edit2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.SimpleText:='Введитеверхнююграницу';
end;
procedure TForm1.Edit3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.SimpleText:='ВведитеточностьдляметодаСимпсона';
end;
procedure TForm1.Edit4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.SimpleText:='ВведитепараметрвинтегралеЛапласа';
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.SimpleText:='';
end;
function f(x,lam:extended):extended; //Подинтегральнаяфункция
begin
f:=(sin(x)+4)*exp(-2*lam*x);
end;
function simpson(a,b:extended;n:integer):extended;
var s,h:extended;
m,mn:integer;
begin
h:=(b-a)/n;
s:=f(a,lam)+f(b,lam);
mn:=4;
for m:=1 to n-1 do begin
s:=s+mn*f(a+h*m,lam);
if (mn=4) then mn:=2 else mn:=4;
end;
simpson:=s*h/3;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
eps:=StrToFloat(Edit3.Text);
lam:=StrToFloat(Edit4.Text);
n:=3;
r:=simpson(a,b,n);
repeat r2:=r;
n:=n+2;
r:=simpson(a,b,n); h:=(b-a)/n;
until (abs(r-r2)<eps);
Panel1.Caption:=FloatToStr(r);
lap:=2/lam;
Panel2.Caption:=FloatToStr(lap);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.SimpleText:='Вычислениеинтеграла';
end;
procedure TForm1.Button2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.SimpleText:='Выходизпрограммы';
end;
end.
Пример 3.Для интеграла
при
получены результаты:Пример 1.Для интеграла
получены результаты:
Пример 4.Для интеграла
получены результаты:
Список литературы
Федорюк М.В. «Асимптотика: интегралы и ряды». М.:Наука, 1977.