Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Пожалуйста, как запрограммировать расчёт интеграла |
Автор: Pl.Posayshen 16.11.2004, 10:07 |
Здравствуйте! Сразу приношу извинения за нерациональное использование форума. У меня горит контрольная по программированию на С. Буду очень благодарен если поможете с ответом на вопрос. Написать программу приближённого вычисления интеграла функции F(х)= 5х-х+2 методом прямоугольников. Если будите отвечать то не шибко умно, что бы я хоть немного разобрался. Заранее благодарен. Спасибо. |
Автор: Monomah 16.11.2004, 12:23 |
Pl.Posayshen, это делается всё просто: берёшь промежуток, на котором будет рассчитан интеграл, делишь его на равные части, пусть их число - n. Тебе будет известна их ширина (пусть dl ). Потом, делаешь цикл такой, чтобы он прокрутился n раз. В цикле считаешь площать маленького прямоугольника (dl*F(i*n)). Суммируешь все эти площади и получаешь число. Оно то и есть твой интеграл. вот как это может выглядеть: float integ=0, dl; float l=10; // пуст это интервал, на котором находим интеграл int n=100; // число промежутков, на которые разбиваем l dl=l/n; for (i=0;i<n;i++) { integ+=dl*(5*(i*dl)-i*dl+2); } вот и всё. Чем n больше, тем точнее посчитается интеграл. Здесь интеграл считается на интервале [0;l], если нгада делать смещение, то .... думай сам |
Автор: Pl.Posayshen 16.11.2004, 13:50 |
Monomah друг спасибо. |
Автор: Kurt 19.11.2004, 20:46 | ||
Я помню в свое время нас заставляли запрограммировать кучу адгоритмов нахождения интеграла.
Имеется ввиду левых прямоугольников или правых? Ведь результат будет немного разный в зависимости от выбранного алгоритма. Если используются левые прямоугольники (т.е. в качестве высоты прямоугольника будет точка, соотв. НАЧАЛУ кусочка, на к-е разбит отрезок), то полученная площадь будет меньше "настоящей", если правых прямоугольников(в качестве высоты берется точка ф-ции, соотв. концу кусочка) - чуток больше. |
Автор: Hroft 20.11.2004, 09:20 |
![]() Ты написал про монотонно возрастающую функцию (и то не совсем). |