Интегрирование функций методом трапеций. Паскаль
Подынтегральная функция 1 + sqrt(х)* (2+sin^2 x), а=0, b=1
а) Вычислить заданный интеграл при n=10. б) Вычислить значение заданного интеграла при n=20, 30, 40, …, 100. Результаты показать в виде таблицы на экране и в файле; Если я применю эту программу будет ли она работать и будет ли правильним ответ? и чтобы была таблица на экране и в файле. Я пока не могу проверить. Подскажите пожалуйста. Если нет , то исправте, пожалуйста. const a=0;{нижний предел} b=1;{верхний предел} n=10; function f(x:real):real; begin f:=1+ sqrt(х)*(2+sin^2x); end; function integral(a,b:real):real; var h,k,s,y:real; i:integer; begin h:=(b-a)/n; s:=(f(a)+f(b))/2; k:=a; for i:=1 to n-1 do begin k:=k+h; s:=s+f(k); end; s:=s*h; integral:=s; Writeln('Длина шага равна: ',h:0:4);{ тут я не знаю правильно или нет} end; begin Writeln('Нижний предел: ',a: ); { тут возле а должна быть цыфра я не знаю какая } Writeln('Верхний предел: ',b:); { и тут тоже} writeln('Интеграл методом трапеции = ', integral(a,b):0:5); end. |
Цитата:
Цитата:
const a=0.0;{нижний предел} b=1.0;{верхний предел} Величину n вообще не следует задавать в виде константы: ведь Вам нужно будет считать интеграл при разных значениях разбиения. Цитата:
f:=1+ Sqrt(х)*(2+Sqr(sin(x))); Цитата:
function integral(n:integer):real; Цитата:
Цитата:
С учетом вышесказанного: Код:
const |
Добрый вечер, или скорее доброй ночи, Vladimir_S. Огромное Вам спасибо за помощь!!!
|
Посмотрите пожалуйста на метод Зэйделя. Я узнал что надо.
|
Часовой пояс GMT +4, время: 22:10. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.