IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Вычисление определнных интегралов, Помогите плиз, не знаю метод =((
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Мартын

Репутация: -  1  +


Численное интегрирование
Спасибо огромнейшее за то что выложили так много способов вычисления определенных интегралов, но всё же в универе задали вычислить интеграл методом правых прямоугольников, а здесь я нашел только центральных прямоугольников, и просто метод прямоугольников =). Я просто болел когда была эта лекция и поэтому не знаю чем отличается метод прямоугольников от метода правых прямоугольников и левых прямоугольников =), а интеграл завтра сдавать( поэтому лекцию взять не успею =(( ). Прошу помощи, за ранее огромное спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Поиск по словам +правых +прямоуг* выводит на эту тему:
Интегрирование методом ... прямоугольников ... Был тут?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Мартын

Репутация: -  1  +


там где ты мне дал, используются дополнительно модули, а мне модули нельзя использовать =) !, так что увы но это не подходит. Самое хорошее где было написанно это метод центрального прямоугольника =)

З.ы. Я так понял что методы правого левого и центрального тличаются только в цикле for , тоесть
Центральный
For i:=1 to n-1 do
Левый
for i:=0 to n-1 do
Правый
for i:=1 to n do

Но я не знаю прав я или нет =) , поправте если ошибаюсь =)

Сообщение отредактировано: sintanial -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Выдрать функцию из модуля - никак нельзя? Не обязательно же все время делать только Copy/Paste, подумать тоже иногда полезно.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Цитата
Не обязательно же все время делать только Copy/Paste, подумать тоже иногда полезно.


Тем более, что в результате таки получится тот же Copy/Paste, только в профиль smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Мартын

Репутация: -  1  +


вольво ну извени, просто я на лекции не был, и я даже не знаю о чем идет речь и как вычислять интеграл =), поэтому и плаваю в коде =)

Добавлено через 18 мин.
Эммм потехоньку начал разбираться =)

Сообщение отредактировано: sintanial -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Мартын

Репутация: -  1  +


Фсё разобрался

ВОТ ТОЖЕ САМОЕ ТОЛЬКО БЕЗ МОДУЛЕЙ( правый прямоугольник ) . Вдруг кому понадобится так же как мне без модулей =)


function IntF(x:real):real;
var y:real;
begin
y:=sqrt(1+2*x);{ Вписываем функцию которую нужно вычислить !!!!}
intf:=y;
end;


var
//S - площадь на предыдущей итерации,
//step - Толщина прямоугольника
//gran - ïпередвигаемая от a до b граница
//n - число прямоугольников, удваивается на каждой итерации
S, step, gran,eps,a,b,z,x,l,f,result:real;
n: integer;
begin
read(a,b,eps);
z:=IntF(b);
//Сначало приближение одного прямоугольника
step := b - a;
Result :=z * step;
n := 1;
repeat
S := Result;
n := n * 2;
step := (b - a) / n;
Gran := b;
Result := 0;
//Вычисление площади новых прямоугольников
while a < gran do
begin
l:=IntF(gran);
Result := Result +l * step;
gran := gran - step;
end;
until abs(S - Result) <= eps;
f:=Result;
writeln(f);
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






у мня метод левых прямоугольников и вот что я пробнул набрать
-------------
Program integ;
uses crt;
var
a,b,eps,k,sum,sum1:real;
n:integer;
function f(x:real):real;
begin
f:=x/cos(x);
if x=pi/2+pi*k then
writeln('wrong');
end;

function calc(n:real):real;
var
h,sqr,x:real;
begin
h:=abs(b-a)/n;
x:=a;
sqr:=0;
while x<b do
begin
x:=x+h;
sqr:=sqr+f(x);

end;
sqr:=abs(sqr*h);
calc:=sqr;
end;

begin
TextColor(2);
writeln('Zadanie f(x)=x/cos(x)');
write('Vvedite levuiu granitsu a='); {left_border}
readln(a);
write('Vvedite pravuiu granitsu b='); {right_border}
readln(b);
write('Vvedite tochnost eps='); {tochnost}
readln(eps);
sum:=0;

if {(a=pi/2+pi*k) or} (a=b) then
writeln('error')
else
begin
n:=1;
sum1:=calc(n);
repeat
sum:=sum1;
n:=n*2;
sum1:=calc(n);
until abs(sum-sum1)<=eps;

writeln(' Result= ' ,sum1);
writeln(' n= ',n);
end;

readln;
end.

---------
но оно как я понял:
1 работает ток в определенных значениях раз;
2 не учитываетса то что в значении х=pi/2+pi*k(real) функция y=x/cos(x) проскакивает ( например х=0 0/cos0=0)
Проблема в том что я не наю как исправить ни 1 ни 2 проблему wacko.gif

Сообщение отредактировано: Lapp -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






{(a=pi/2+pi*k) or} написал потому что не наю куда его всунуть потому и закоментил
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






2 верхних сообщения написал я просто забыл во 2ом написать имя
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 5:46
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name