Курсовая: Вычисления определенного интеграла с помощью формулы Симпсона на компьютере - текст курсовой. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Курсовая

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

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Архив Zip, 38 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!
Заказать
Узнать стоимость написания уникальной курсовой работы

Узнайте стоимость написания уникальной работы

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ СТРОИТЕЛЬНЫЙ УНИВ ЕРСИТЕТ КУРСОВАЯ РАБОТА «Программа приближенного вычисления определенного интеграла с помощью ф – лы Симпсона на компьютере» Выпо лнил : студент ф – та ЭОУС – 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 ) , в итоге получаем малую фор – лу Симпсона Малая фор мула Симпсона дает интеграл с хорошей точ ностью , когда график подинтегральной функции мало изогнут , в случаях же , когда дана более сложная функция малая формула Симпсона непригодна . Тогда , чтобы посчитать интеграл заданной функции нужно раз бить отрезок [ a , b ] на n частей и к каждому из отрезков применить форм улу (1). После указанных выше действий получится “большая” формула Симпсона , которая имеет вид, где Y кр = y 1 + yn , Y неч = y 3 + y 5 + … + 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. Спецификации Имя переменн ой Тип Назначение n int Число разбиений отрезка [ a , b ] i int Счетчик циклов a float Ниж ний предел интегрирования b float Верхний предел интегрирования h float Шаг разбиен ия отрезка e float Допустимая относительная ошиб ка f float (*) Указате ль на интегрируемую фун - цию s_ab float Сумма значений фун – ции в точках a и b s_even float Сумма значений фун – ции в нечетных точках s_odd float Су мма значений фун – ции в четны х точках s_res float Текущий результат инте грирования s_pres float Предыдущий результат и нтегрирования 4. Листинг программы #include #include /* Прототип фун – ции , вычисляющей интеграл */ 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)) int n = 4, i ; /* Начальное число разбиений 4 */ float s _ 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 );/* Выполнять д о тех пор , пока результат не будет удо влетворять допустимой ошибке */ return fabs ( s _ res ); /* Возвращаем результат */ 5. Ручной счет Таблица константных значений для n = 8 Имя переменн ой Значение a 0 b 6 e .1 s_ab 216 h .75 Подсчет s_even i a + i * h f(a + i * h) s_even 2 1.5 41.34375 41.34375 4 3 108 149.34375 6 4.5 22.78125 172.125 Подсчет s_odd i a + i * h f(a + i * h) s_odd 1 .75 7.62012 7.62012 3 2.25 86.14158 93.7617 5 3.75 82.3973 176.159 7 5.25 9.044 185.203 Подсчет s_res f(x) dx s_res = h / 3 * (s_ab + 2 * s_even + 4 * s_odd) Аб солютная ошибка 324 325.266 1.266
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Сидит лев в лесу, зевает. Вдруг мимо бежит муравей. Лев:
- Эй, муравей, куда ты так бежишь?
- Ты что, не слышал? Слон с бегемотом подрались и сильно избили друг друга!
- Ну а ты-то куда так торопишься?
- Как куда? Кровь сдавать!
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, курсовая по программированию "Вычисления определенного интеграла с помощью формулы Симпсона на компьютере", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2017
Рейтинг@Mail.ru