Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2011, 18:26   #1
(=Hello=)
Пользователь
 
Регистрация: 24.02.2011
Сообщений: 39
По умолчанию Численное интегрирование (метод Симпсона)

Здравствуйте, проверьте программу.
Вычислить значение определенного интеграла с заданной точностью ε.
функция: f(x)=sqrt(1+x^5).
Метод интегрирования Симпсона.

Код:
 program test;
uses crt;
var a,b,r,r2,eps:real;
    n:integer;
function f(x:real):real;
begin
f:=sqrt(1+sqr(x)*sqr(x)*x);
end;

function Simpson(a,b:real; n:integer):real;
var s,h:real;
    m,mn:integer;
begin
h:=(b-a)/(2*n);
s:=f(a)+f(b);
mn:=4;
for m:=1 to 2*n-1 do
   begin
   s:=s+mn*f(a+h*m);
   if mn=4 then mn:=2
           else mn:=4;
   end;
   Simpson:=s*h/3;
   end;

begin
writeln ('введите нижнюю границу');
Readln (a);
writeln('введите верхнюю границу');
readln(b);
writeln('введите погрешность');
readln(eps);
n:=2;
r:=simpson(a,b,n);
repeat
 r2:=r;
 n:=n*2;
 r:=simpson(a,b,n);
until abs(r-r2)<eps;
 Writeln;
 Writeln ('Значение интеграла = '  ,r:6:6);
 writeln ('количество разбиений = ',n);
 readkey;
end.

Последний раз редактировалось (=Hello=); 18.03.2011 в 21:33.
(=Hello=) вне форума Ответить с цитированием
Старый 18.03.2011, 23:05   #2
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Сами проверьте себя:
1. вычислите интеграл "ручками", получите аналитическое решение.
2. потом посмотрите что программа выдает, уменьшите эпсилон, снова посчитайте программой, значение должно получиться ближе к аналитическому. Если не так, то скорей всего что-то в программе не верно.
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Численное интегрирование. Проблема. nikozavr Общие вопросы C/C++ 8 20.02.2011 15:22
Численное интегрирование abs123 Паскаль, Turbo Pascal, PascalABC.NET 1 26.12.2010 22:43
Turbo Pascal[програмыки : текстовая\метод симпсона\метод половинного деления qsccsq Помощь студентам 7 24.12.2010 05:23
численное интегрирование методом Симпсона: трудности с блок-схемой smalljoke Помощь студентам 0 26.11.2010 02:34
Численное интегрирование в делфи Ира91 Помощь студентам 0 18.10.2010 21:45