В чем заключается метод Симпсона и как реализовать его на языке Паскаль

, , , , – . , . . , , , , . a b : 1/h*(y0+4y1+2y2+4y3+…+4yn-1+yn). y 0 n, n – , , y-, . h, : (b-a)/(n-1).





, . , – . , . , , , , .





, . , , , b.





, ( ), f:= , . . . :

function f(x:real):real;

begin

f:=25*ln(x)+sin(10); { }

end;

. :

function simpsonmetod(a,b:real;n:integer):real;

:

var

s:real; { ( ) }

h:real; { }

my:integer; { }

mno:integer; { }

, , :

begin

h:=(b-a)/(n-1); { . , }

s:= f(b)+ f(a); { }

mno:=4; { - 1/h*(y0+4y1… 4 , 2, }





:

for my:=1 to n-2 do begin

s:=s+mno*f(a+h*); { , 4*yn 2* yn }

if (mno=4) then mno:=2 else mno:=4;{ - 4, 2 }

end;

simpsonmetod:=s*h/3; { h/3 }

end.

– . , , .

Begin

n:=3; { n }

q:=simpsonmetod(a,b,n); { , a b, , }

repeat

q2:=q; { }

n:=n+2;

q:=simpsonmetod(a,b,n); { }

until (abs(q-q2)<0.001);{ , , }





– . , ! .




All Articles