Курсовая работа по предмету "Программирование, программное обеспечение, СУБД"


Вычисление интеграла с помощью метода трапеций на компьютере

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ КУРСОВАЯ РАБОТА тема: “Вычисление определённого интеграла с помощью метода трапеций на компьютере” Выполнил: студент ф-та ЭОУС-1-12 Зыков И. Принял: Зоткин С. П. Москва 2001 Введение:
Определенный интеграл от функции, имеющей неэлементарную первообразную, можно вычислить с помощью той или иной приближенной формулы. Для решения этой задачи на компьютере, можно воспользоватьсяформулами прямоугольников, трапеций или формулой Симпсона. В данной работе рассматривается формула трапеций. Пусть I=т f(x)dx, где f(x) –непрерывная функция, которую мы для наглядности будем предполагать положительной. ТогдаI представит собой площадь криволинейной трапеции, ограниченной линиями x=a, x=b, y=0, y=f(x). Выберем какое-нибудь натуральное число n и разложим отрезок [a, b] на n равных отрезков при помощи точек x0=a рис. 1
Тогда площадь первой слева полоски будет приближенно выражаться числом ((f(x0)+f(x1))/2)*(x1-x0)=((y0+y1)/2)*((b-a)/n),
ибо основания трапеции, за которую мы принимаем полоску, равны f(x0)=y0 и f(x1)=y1, а высота её x1-x0=(b-a)/n. Аналогично площади дальнейших полосок выразятся числами
(y1+y2)*((b-a)/2*n), (y2+y3)*((b-a)/2*n), … , (yn-1+yn)*((b-a)/2*n). Значит, для нашего интеграла получается формула I»((b-a)/2*n)*[y0+2*(y1+…+yn-1)+yn].
Пологая для краткости y0+yn=Yкр (крайние), y1+y2+…+yn-1=Yпром (промежуточные), получим Эту формулу можно записать в другом виде т f(x)dx » (h/2)*[f(a)+f(b)+2еf(xi)]
(где h – длина одного из n равных отрезков, xi=a+i*h). Эта приближенная формула и называется формулой трапеций. Она оказывается тем более точной, чем больше взятое нами числоn. Погрешность одного шага вычисляется по формуле: -(h^3)/12. Задача. Пусть нужно проинтегрировать функцию f(x) = xі +2xІ-3x-8  на отрезке [0, 6]. На этом отрезке функция непрерывна. Для выполнения поставленной задачи составлена нижеописанная программа, приближенно вычисляющая определенный интеграл с помощьюметода трапеций. Программа состоит из трех функций main, f и trap. Функция main позволяет ввести интервалы интегрирования и задать точность вычисления интеграла, а также вызывает функциюtrap для вычисления интеграла и распечатывает на экране результат. Функция f принимает аргумент x типа float и возвращает значение интегрируемой функции в этой точке. Trap –основная функция программы: она выполняет все вычисления, связанные с нахождением определенного интеграла. Trap принимает четыре параметра: пределы интегрирования типа float (a и b), допустимую относительную ошибку типа floatи указатель на интегрируемую функцию. Вычисления выполняются до тех пор, пока относительная ошибка, вычисляемая по формуле| S-Sn |, не будет меньше или равна требуемой. Функция реализована с экономией вычислений, т. е. учитывается, чтоS0 постоянная и S1=S1+f(a+(2*i+1)*h), поэтому эти значения вычисляются единожды. Метод трапеций обладает высокой скоростью вычисления, но меньшей точностью, чем метод Симпсона, поэтому его применение удобно там, где не требуется очень высокая точность. Ниже предлагается блок-схема, листинг, спецификации, ручной счет и результат работы программы на примере поставленной выше задачи. Блок-схема позволяет отследить и понять особенности алгоритма программы, спецификации дают представление о назначении каждой переменной в основной функции trap, листинг - исходный код работающей программы с комментариями, а ручной счет предоставляет возможность проанализировать результаты выполнения программы. Блок-схема программы: ДА НЕТ i=1 i=n/2 Листинг: #include #include #include main() {

double a, b, er, eps, f(double), s, trap(double, double, double, double(*)(double)); clrscr(); printf("\n Задайте пределы интегрирования и точность: "); scanf ("%lf%lf%lf", &a, &b, &eps); s=trap(a, b, eps, f);
printf("\n Интеграл от a=%3. 2lf до b=%3. 2lf равен %lf", a, b, s); getch(); } double f(double x) { return x*x*x+2*(x*x)-3*x-8; }
double trap(double a, double b, double eps, double(*f)(double)) { double h, s, s0, s1, sn; int i, n; s=1; sn=101; n=4; s0=(f(a)+f(b))/2; s1=f((a+b)/2); while(fabs(s-sn)>eps){ sn=s; h=(b-a)/n; for(i=0; i s1+=f(a+(2*i+1)*h); s=h*(s0+s1); n*=2; } return s; } Спецификации: Имя переменной Тип Назначение n int число разбиений отрезка [a, b] i int счетчик циклов a double Нижний предел интегрирования b double Верхний предел интегрирования h double шаг разбиения отрезка eps double допустимая относительная ошибка f double(*) указатель на интегрируемую фун - цию x double аргумент ф-ии f s double текущий результат интегрирования s0 double половина суммы значений функции в точках a и b s1 double сумма значений функции в промежуточных точках sn double предыдущий результат интегрирования Ручной счет: Xi Yi 0 -8 0, 75 -8, 703125 1, 5 -4, 625 2, 25 6, 765625 3 28 3, 75 61, 609375 4, 5 110, 125 5, 25 176, 078125 6 262 Результат работы программы: при eps = 0. 1 при eps = 0. 001 Введите a, b, eps: Введите a, b, eps: 0 0 6 6 . 1 . 001 Интеграл= 366. 024170 Интеграл= 366. 000094
т. е с помощью этой программы можно вычислить интеграл от функции с точностью до 1/10000.


Не сдавайте скачаную работу преподавателю!
Данную курсовую работу Вы можете использовать для написания своего курсового проекта.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем курсовую работу самостоятельно:
! Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ.
! Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу.
! Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться.
! План курсовой работы Нумерованным списком описывается порядок и структура будующей работы.
! Введение курсовой работы Что пишется в введении, какой объем вводной части?
! Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать.
! Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа.
! Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема.
! Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом.
! Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ.

Читайте также:
Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия.
Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта.
Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты.
Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести.
Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя.
Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика.

Сейчас смотрят :

Курсовая работа Анализ кредитного портфеля коммерческого банка
Курсовая работа Учет и аудит расчетов с поставщиками и подрядчиками на примере ОАО "ВЭЛТ-Кинескоп"
Курсовая работа Анализ показателей эффективности финансово-хозяйственной деятельности предприятия
Курсовая работа Управление государственным долгом
Курсовая работа Договор ренты
Курсовая работа Финансовая устойчивость страховых компаний
Курсовая работа Организация налогового учёта в организации
Курсовая работа Анализ эффективности использования трудовых ресурсов
Курсовая работа Самооценка младших школьников
Курсовая работа Оперативное планирование производства предприятия
Курсовая работа Налоговая система РФ и проблемы ее совершенствования
Курсовая работа Бронхиальная астма
Курсовая работа Учет и анализ финансовых результатов деятельности автотранспортной организации
Курсовая работа Управление социальной защиты населения на уровне муниципального образования
Курсовая работа Психологические проблемы одомашнивания животных