Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
41
Task/Numerical-integration/Pascal/numerical-integration.pas
Normal file
41
Task/Numerical-integration/Pascal/numerical-integration.pas
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
function RectLeft(function f(x: real): real; xl, xr: real): real;
|
||||
begin
|
||||
RectLeft := f(xl)
|
||||
end;
|
||||
|
||||
function RectMid(function f(x: real): real; xl, xr: real) : real;
|
||||
begin
|
||||
RectMid := f((xl+xr)/2)
|
||||
end;
|
||||
|
||||
function RectRight(function f(x: real): real; xl, xr: real): real;
|
||||
begin
|
||||
RectRight := f(xr)
|
||||
end;
|
||||
|
||||
function Trapezium(function f(x: real): real; xl, xr: real): real;
|
||||
begin
|
||||
Trapezium := (f(xl) + f(xr))/2
|
||||
end;
|
||||
|
||||
function Simpson(function f(x: real): real; xl, xr: real): real;
|
||||
begin
|
||||
Simpson := (f(xl) + 4*f((xl+xr)/2) + f(xr))/6
|
||||
end;
|
||||
|
||||
function integrate(function method(function f(x: real): real; xl, xr: real): real;
|
||||
function f(x: real): real;
|
||||
a, b: real;
|
||||
n: integer);
|
||||
var
|
||||
integral, h: real;
|
||||
k: integer;
|
||||
begin
|
||||
integral := 0;
|
||||
h := (b-a)/n;
|
||||
for k := 0 to n-1 do
|
||||
begin
|
||||
integral := integral + method(f, a + k*h, a + (k+1)*h)
|
||||
end;
|
||||
integrate := integral
|
||||
end;
|
||||
Loading…
Add table
Add a link
Reference in a new issue