Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Вычисления определенного интеграла с помощью ф. – лы Симпсона на компьютере

Тип Реферат
Предмет Информатика и программирование
Просмотров
1019
Размер файла
32 б
Поделиться

Ознакомительный фрагмент работы:

Вычисления определенного интеграла с помощью ф. – лы Симпсона на компьютере

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ

КУРСОВАЯ РАБОТА

«Программа приближенного вычисления определенного интеграла с помощью ф – лы Симпсона на компьютере»

Выполнил:

студент ф – та ЭОУС – 1 – 12

Валюгин А. С.

Принял:

Зоткин С. П.

Москва 2001

1. Введение

Определенный интеграл от функции, имеющей неэлементарную первообразную, можно вычислить с помощью той или иной приближенной формулы. Для решения этой задачи на компьютере, среди прочих, можно воспользоваться формулами прямоугольников, трапеций или формулой Симпсона. В данной работе рассматривается именно последняя.

Рассмотрим функцию y = f(x). Будем считать, что на отрезке [a, b] она положительна и непрерывна. Найдем площадь криволинейной трапеции aABb (рис. 1).

рис. 1

Для этого разделим отрезок [a, b] точкой c = (a + b) / 2 пополам и в точке C(c, f(c)) проведем касательную к линии y = f(x). После этого разделим [a, b] точками p и q на 3 равные части и проведем через них прямые x = p и x = q. Пусть P и Q – точки пересечения этих прямых с касательной. Соединив A с P и B с Q, получим 3 прямолинейные трапеции aAPp, pPQq, qQBb. Тогда площадь трапеции aABb можно приближенно посчитать по следующей формуле

I » (aA + pP) / 2 * h + (pP + qQ) / 2 * h + (qQ + bB) / 2 * h, гдеh = (b – a) / 3.

Откуда получаем

I » (b – a) / 6 * (aA + 2 * (pP + qQ) + bB)

заметим, что aA = f(a),bB = f(b),а pP + qQ = 2 * f(c), в итоге получаем малую фор – лу Симпсона

I » (b – a) / 6 * (f(a) + 4 * f(c) + f(b)) (1)


Малая формула Симпсона дает интеграл с хорошей точностью, когда график подинтегральной функции мало изогнут, в случаях же, когда дана более сложная функция малая формула Симпсона непригодна. Тогда, чтобы посчитать интеграл заданной функции нужно разбить отрезок [a, b] на n частей и к каждому из отрезков применить формулу (1). После указанных выше действий получится “большая” формула Симпсона, которая имеет вид,

I » h / 3 * (Yкр + 2 * Yнеч + 4 * Yчет) (2)

где Yкр = y1 + yn,Yнеч = y3 + y5 + … + yn – 1, Yчет = y2 + y4 + … + yn – 2,а h = (b – a) / n.

Задача. Пусть нужно проинтегрировать функцию f(x) = x³(x - 5)² на отрезке [0, 6](рис. 2). На этом отрезке функция непрерывна и принимает только неотрицательные значения, т. е. знакопостоянна.

рис. 2

Для выполнения поставленной задачи составлена нижеописанная программа, приближенно вычисляющая определенный интеграл с помощью формулы Симпсона. Программа состоит из трех функций main, f и integral. Функция main вызывает функцию integral для вычисления интеграла и распечатывает на экране результат. Функция f принимает аргумент x типа float и возвращает значение интегрируемой функции в этой точке. Integral – основная функция программы: она выполняет все вычисления, связанные с нахождением определенного интеграла. Integral принимает четыре параметра: пределы интегрирования типа float, допустимую относительную ошибку типа float и указатель на интегрируемую функцию. Вычисления выполняются до тех пор, пока относительная ошибка, вычисляемая по формуле

| (In/2 – In) / In | ,

где In интеграл при числе разбиений n, не будет меньше требуемой. Например, допустимая относительная ошибка e = 0.02 это значит, что максимальная погрешность в вычислениях будет не больше, чем In * e = 0.02 * In. Функция реализована с экономией вычислений, т. е. учитывается, что Yкр постоянная, а Yнеч = Yнеч + Yчет, поэтому эти значения вычисляются единожды. Высокая точность и скорость вычисления делают использование программы на основе формулы Симпсона более желательным при приближенном вычислении интегралов, чем использование программ на основе формулы трапеции или метода прямоугольников.

Ниже предлагается блок – схема, спецификации, листинг и ручной счет программы на примере поставленной выше задачи. Блок – схема позволяет отследить и понять особенности алгоритма программы, спецификации дают представление о назначении каждой переменной в основной функции integral, листинг - исходный код работающей программы с комментариями, а ручной счет предоставляет возможность проанализировать результаты выполнения программы.

2. Блок – схема программы


ДА


НЕТ


3. Спецификации

Имя переменнойТипНазначение
nintЧисло разбиений отрезка [a, b]
iintСчетчикциклов
afloatНижний предел интегрирования
bfloatВерхний предел интегрирования
hfloatШаг разбиения отрезка
efloatДопустимая относительная ошибка
ffloat (*)Указатель на интегрируемую фун - цию
s_abfloatСумма значений фун – ции в точках a и b
s_evenfloatСумма значений фун – ции в нечетных точках
s_oddfloatСумма значений фун – ции в четных точках
s_resfloatТекущий результат интегрирования
s_presfloatПредыдущий результат интегрирования

4. Листинг программы

#include <stdio.h>

#include <math.h>

/* Прототип фун – ции, вычисляющей интеграл */

float integral(float, float, float, float (*)(float));

/* Прототип фун – ции, задающей интегрируемую фун – цию */

float f(float);

main()

{

float result;

result = integral(0, 6, .1, f);

printf("%f", result);

return 0;

}

/* Реализация фун – ции, задающей интегрируемую фун – цию */

float f(float x)

{

/* Функция f(x) = x³(x - 5)² */

return pow(x, 3) * pow(x - 5, 2);

}

/* Реализация фун – ции, вычисляющей интеграл */

float integral(float a, float b, float e, float (*f)(float))

{

intn = 4, i; /* Начальное число разбиений 4 */

floats_ab = f(a) + f(b); /* Сумма значений фун – ции в a и b */

float h = (b – a) / n; /* Вычисляемшаг */

float s_even = 0, s_odd;

float s_res = 0, s_pres;

/* Сумма значений фун – ции в нечетных точках */

for (i = 2; i < n; i += 2) {

s_even += f(a + i * h);

}

do {

s_odd = 0;

s_pres = s_res;

/* Сумма значений фун – ции в четных точках */

for (i = 1; i < n; i += 2) {

s_odd += f(a + i * h);

}

/* Подсчет результата */

s_res = h / 3 * (s_ab + 2 * s_even + 4 * s_odd);

/* Избегаем деления на ноль */

if (s_res == 0) s_res = e;

s_even += s_odd;

n *= 2;

h /= 2;

} while (fabs((s_pres - s_res) / s_res) > e);/* Выполнять до тех пор, пока результат не будет удовлетворять допустимой ошибке */

returnfabs(s_res); /* Возвращаем результат */

}

5. Ручной счет

Таблица константных значений для n = 8

Имя переменнойЗначение
a0
b6
e.1
s_ab216
h.75

Подсчет s_even

ia + i * hf(a + i * h)s_even
21.541.3437541.34375
43108149.34375
64.522.78125172.125

Подсчет s_odd

ia + i * hf(a + i * h)s_odd
1.757.620127.62012
32.2586.1415893.7617
53.7582.3973176.159
75.259.044185.203

Подсчет s_res

ò f(x) dxs_res = h / 3 * (s_ab + 2 * s_even + 4 * s_odd) Абсолютнаяошибка
324325.2661.266

Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
155320
рейтинг
icon
3219
работ сдано
icon
1385
отзывов
avatar
Математика
Физика
История
icon
151723
рейтинг
icon
6007
работ сдано
icon
2717
отзывов
avatar
Химия
Экономика
Биология
icon
105824
рейтинг
icon
2100
работ сдано
icon
1312
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
60 247 оценок star star star star star
среднее 4.9 из 5
Колледж РГСУ
Анна, большое спасибо! Реферат приняли без замечаний! Спасибо за оперативность и качество!
star star star star star
КрасГМУ
Большое спасибо Евгении. Реферат написан качественно и был отправлен досрочно, никаких исп...
star star star star star
ПГУ
Сделала реферат на тему Техническое освидетельствование грузоподъемных механизмов
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Иследовать функцию Построить график

Контрольная, Математический анализ

Срок сдачи к 29 апр.

1 минуту назад

Выполнить 3 блока заданий

Бизнес-план, бизнес-планирование

Срок сдачи к 14 мая

2 минуты назад

Написать параграф 2.1 для курсовой работы

Курсовая, Педагогика и психология

Срок сдачи к 1 мая

4 минуты назад

Национальное богатства республики Узбекистан

Курсовая, Макроэкономика

Срок сдачи к 1 мая

5 минут назад

3 Лабораторные

Лабораторная, Геология

Срок сдачи к 1 мая

6 минут назад

Химия

Ответы на билеты, Химические и физико-химические методы анализа

Срок сдачи к 26 апр.

6 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени: 26 апреля 2025 г. 12:53

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Press the down arrow key to interact with the calendar and select a date. Press the question mark key to get the keyboard shortcuts for changing dates.

Файлы (при наличии)

    это быстро и бесплатно