Курсовой проект студента 3 курса 3 группы "Допустить к защите"



Скачать 145.85 Kb.
Дата28.04.2013
Размер145.85 Kb.
ТипКурсовой проект


Министерство образования Республики Беларусь

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Факультет прикладной математики и информатики
Кафедра компьютерных технологий и систем
Кафедра дискретной математики и алгоритмики
СТЕПА НИКОЛАЙ ИГОРЕВИЧ




СОЗДАНИЕ WEB-ПРИЛОЖЕНИЯ ДЛЯ ВЫЧИСЛЕНИЯ ОПРЕДЕЛЕННОГО ИНТЕГРАЛА ПО КВАДРАТУРНЫМ ФОРМУЛАМ ТРАПЕЦИЙ И ПАРАБОЛ

Курсовой проект
студента 3 курса 3 группы


“Допустить к защите“

Руководитель проекта

Пажитных Дарья Витальевна

ассистент кафедры КТС

________________

“___” ___________ 2011 г













Минск 2011

Белорусский государственный университет

Факультет прикладной математики и информатики

Кафедра компьютерных технологий и систем
Утверждаю

Заведующий кафедрой

_______________В.Б. Таранчук

“___”  _______________  2011 г.
ЗАДАНИЕ

ПО ПОДГОТОВКЕ КУРСОВОГО ПРОЕКТА

Студенту 3 курса Степе Н.И. (группа 3)
1. Тема СОЗДАНИЕ WEB-ПРИЛОЖЕНИЯ ДЛЯ ВЫЧИСЛЕНИЯ ОПРЕДЕЛЕННОГО ИНТЕГРАЛА ПО КВАДРАТУРНЫМ ФОРМУЛАМ ТРАПЕЦИЙ И ПАРАБОЛ, ИСПОЛЬЗУЯ ФРЕЙМВОРК DJANGO (PDV-3-09)
2. Срок сдачи студентом законченной работы ноября 2011 г.
3. Исходные данные к работе

  • Теория интегрирования.

  • Теория численных методов.

  • Размещенные в электронной библиотеке методические материалы, примеры программных модулей по приемам интегрирования, дифференцирования, программирования алгоритмов расчета, графической визуализации функций в компьютерной технической системе (КТС) Mathematica.

  • Технические требования к электронным версиям отчетных документов.


Библиографические описания источников, рекомендуемых студентам к ознакомлению при выполнении работы (для изучения предметной части задания, как правило, достаточно ознакомиться с любой из перечисленных в начале списка книг):


    1. Бахвалов Н. Численные методы / Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. –М.: Лаборатория базовых знаний, 2002. -632 с.

    2. Головатый А. Django. Подробное руководство / Головатый А., Каплан-Мосс Дж. –М.: Символ, 2010. -560с.

    3. Форсье Дж. Django. Разработка веб-приложений на Python / Форсье Дж., Биссекс П., Чан У. –М.: Символ, 2010. -456с.

    4. Морозов, А.
      Программирование задач численного анализа в системе Mathematica: Учеб. пособие / А.А. Морозов, В.Б. Таранчук.  Мн.: БГПУ, 2005. -145 с.

    5. [Электрон. ресурс – е_Библиотека КТС] Иллюстрированный самоучитель по Mathematica. #самоучитель по Mathematica/ #Оглавление.htm

    6. [Электрон. ресурс – \\Serv314\subfaculty\ …] Таранчук В.Б. Графический сервис вычислительного эксперимента. БГУ, факультет прикладной математики и информатики. 1_ZapuskUst-ki_v*.nb, 3_Grafika_v*.nb

    7. [Электрон. ресурс   \\Serv314\subfaculty\ … #КурсовойПроект2011] Таранчук В.Б. КурсовойПроект2011.pps.


4. Перечень вопросов подлежащих разработке или краткое содержание работы

  • Рассмотреть постановку задачи вычисления определенного интеграла.

  • Изучить основы веб-программирования на примере языка Python с использованием фреймворка Django.

  • Реализовать веб-приложение для вычисления определенного интеграла по интерполяционным квадратурным формулам трапеций и парабол на фреймворке Django.

  • Сравнить фреймворк Django с другими фреймворками.

  • Освоить функции ядра КТС Mathematica для вычисления определенных интегралов.

  • Запрограммировать в КТС Mathematica секции приближенного численного вычисления определенного интеграла.

  • Сравнить результаты численного решения на грубой и мелкой сетках с точным аналитическим решением.

  • Освоить приемы подготовки скриншотов и их включения в отчеты, презентации.


5. Перечень графического материала

  • Логотип БГУ для включения на слайды презентации.

  • Графики иллюстраций.

  • Скриншоты интерфейса для включения в презентацию.

  • Фрагменты электронных ресурсов использованной литературы.


6. Дата выдачи задания __ сентября 2011 г.
7. Календарный график работы на весь период (с указанием этапов работы и сроков их выполнения)

  • сентябрь – ознакомление с предлагаемыми темами, выбор и согласование темы с руководителем, регистрация на кафедре КТС (к. 601);

  • сентябрь – ознакомление с техническими требованиями к электронным отчетным документам (doc, ppt, pdf) и освоение правил, как их реализовать;

  • сентябрь-октябрь – изучение постановки задачи, основных теоретических вопросов;

  • сентябрь-октябрь – подготовка и сдача зачетного компьютерного теста (допуск или нет) по модулю “Инструментарий и правила подготовки отчетных doc, ppt, pdf”;

  • сентябрь-октябрь – изучение основ веб-программирования на языке Python с использованием фреймворка Django, изучение основ программирования, правил и приемов символьных вычислений в КТС Mathematica;

  • октябрь-ноябрь – информационный поиск, работа с электронными ресурсами, реализация вычислений и визуализации;

  • ноябрь – практическая реализация задач проекта;

  • ноябрь-декабрь – оформление результатов работы (отчета DOC, презентации PPT, NB), подготовка доклада и отладка презентации на защиту;

  • 17.11. – 12.12. 11: защита, зачет.


Руководитель ______________ / Д.В. Пажитных / …. сентября 2011 г.
Задание принял к исполнению __________________ .… сентября 2011 г.

(подпись студента)

АННОТАЦИЯ



Степа Н.И web-приложение для вычисления определенного интеграла по квадратурным формулам трапеций и парабол: Курсовой проект / Минск: БГУ, 2011. – 20 c.
Рассматривается процесс создания web-приложения для вычисления определенного интеграла по квадратурным формулам трапеция и парабол, использую фреймворк Django.

АНАТАЦЫЯ



Стэпа Н. І web-дадаток для вылічэння пэуных інтэграл па квадратурных формулах трапецый і парабал: Курсавы праект / Мінск: БДУ, 2011. – 20 с.

Разглядаецца працэс стварэння вэб-прыкладанні для вылічэння вызначанага інтэграла па квадратурныя формулахтрапецыя і парабалу, выкарыстоўваю фреймворк Django.

ANNOTATION


Stepa N. I. web-app to calculate the definite integral of a quadrature formula and the trapezoidal parabolas: course project /Minsk: BSU, 2011.- 20 c.

The process of Creating a web-app to calculate the definite integral of a trapezoid quadrature formulas and parabolas, using a framework Django.

РЕФЕРАТ



Курсовой проект, 20с., 10рис., 5 источников.
Ключевые слова: ИНТЕГРАЛ, МЕТОД ПАРАБОЛ, МЕТОД ТРАПЕЦИЯ, DJANGO
Объект исследования – интегралы
Методы исследования – методы вычислительной математики, методы программирования.
Цель работы – нахождение значение определенного интеграла используя фраймворк Dango
В результате работы были изучены и запрограммированы методы нахождения значения определенных интегралов.

Содержание

АННОТАЦИЯ 5

АНАТАЦЫЯ 5

ANNOTATION 5

РЕФЕРАТ 6

Введение 8

1.1 Общие сведения 9

1.2 Философия Django 10

2 Интегралы 11

2.1 Общие сведения и история 11

2.2 Метод парабол 11

2.3 Метод трапеций 12

3 Практическая часть 12

3.1 Главная страница 13

3.2 Результаты 13

3.3 Информация 13

3.3 Об авторе 14

3.4 Помощь 14

4 Результаты работы 15

ЗАКЛЮЧЕНИЕ 20

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 21


Введение


Django является видным представителем нового поколения сред разработки. это инструмент, или как еще его называют framework для создания Web приложений. Создан этот инструмент на языке Python. При помощи Django можно создавать различные порталы – можно новостные, а можно развлекательные.

Интеграл функции — аналог суммы последовательности. Неформально говоря, (определённый) интеграл является площадью части графика функции (в пределах интегрирования), то есть площадью криволинейной трапеции.

Процесс нахождения интеграла называется интегрированием.

Численным интегрированием называют приближенное вычисление интегралов при помощи одного из численных методов. Численное интегрирование применяется часто в технических задачах, когда вычисление интегралов обычными методами требует чрезмерных усилий, либо интеграл относится к разряду "неберущихся". 

Интегрирование применяется во многих областях математики, в научных и инженерных вычислениях, для решения систем дифференциальных и интегральных уравнений, расчёта передаточных функций динамических систем, выходных сигналов динамических систем в теории управления, электрических схем, решения нестационарных задач математической физики.

1 Django

1.1 Общие сведения



Django (Джанго) — свободный фреймворк для веб-приложений на языке Python. Изначально проект был создан для управления новостными сайтами.
Сайт на Django строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из существенных архитектурных отличий этого фреймворка от некоторых других. Также в отличие от других фреймворков обработчики URL в Django конфигурируются явно при помощи регулярных выражений, а не выводятся автоматически из структуры моделей контроллеров.
Разработчики заявляют, что не обязуются строго придерживаться какой бы то ни было методологии в развитии проекта, предпочитая делать то, что кажется им наиболее логичным.
Архитектура Django похожа на «Модель-Представление-Контроллер» (MVC).
Модель предоставляет остальным компонентам приложения объектно-ориентированное представление данных (таких как каталог продуктов или список заказов). Объекты модели могут осуществлять загрузку и сохранение данных в реляционной базе данных, а также реализуют бизнес-логику.
Представление создает пользовательский интерфейс для отображения полученных от контроллера данных. Представление также передает запросы пользователя на манипуляцию данными в контроллер (как правило, представление не изменяет непосредственно модель).
Контроллер — это набор логики, запускаемой после получения HTTP-запроса сервером. Контроллер отвечает за вызов методов модели и запускает формирование представления.
Первоначальная разработка Django, как средства для работы новостных ресурсов, достаточно сильно отразилась на его архитектуре: он предоставляет ряд средств, которые помогают в быстрой разработке веб-сайтов информационного характера. Так, например, разработчику не требуется создавать контроллеры и страницы для административной части сайта, в Django есть встроенное приложение для управления содержимым, которое можно включить в любой сайт, сделанный на Django, и которое может управлять сразу несколькими сайтами на одном сервере. Административное приложение позволяет создавать, изменять и удалять любые объекты наполнения сайта, протоколируя все совершённые действия, и предоставляет интерфейс для управления пользователями и группам (с пообъектным назначением прав).
Некоторые возможности Django:

  • ORM, API доступа к БД с поддержкой транзакций

  • встроенный интерфейс администратора, с уже имеющимися переводами на многие языки

  • диспетчер URL на основе регулярных выражений

  • расширяемая система шаблонов с тегами и наследованием

  • система кеширования

  • интернационализация

  • подключаемая архитектура приложений, которые можно устанавливать на любые Django-сайты

  • «generic views» — шаблоны функций контроллеров

  • авторизация и аутентификация, подключение внешних модулей аутентификации: LDAP, OpenID и проч.

  • система фильтров («middleware») для построения дополнительных обработчиков запросов, как например включённые в дистрибутив фильтры для кеширования, сжатия, нормализации URL и поддержки анонимных сессий

  • библиотека для работы с формами (наследование, построение форм по существующей модели БД)

  • встроенная автоматическая документация по тегам шаблонов и моделям данных, доступная через административное приложение

  • Различные компоненты фреймворка между собой связаны слабо, поэтому достаточно просто любую часть заменить на аналогичную. Например, вместо встроенных шаблонов можно использовать Mako или Jinja.



1.2 Философия Django



Вот основные принципы Django.

  • Принцип DRY — Don't Repeat Yourself. Означает, что по возможности надо стараться исключать дублирование уже введенного в систему знания.

  • Фреймворк делает максимум усилий для того, чтобы из описанной один раз информации достать максимум возможного сервиса. Хотя вы можете им и не пользоваться (что тоже иногда важно).

  • Разделение фреймворка на максимально независимые компоненты: так называемая "слабая связанность". Тоже очень правильная идеология. Шаблоны, обработчики и модель почти не завязаны друг на друга. Модель ничего не знает о такой вещи, как HTTP-запрос, а из шаблона нельзя даже случайно изменить данные.

  • Отказ от завязывания шаблонов на язык программирования. Когда шаблон представляет собой смесь HTML'а и кода серверного языка, то очень быстро это приводит к тому, что в шаблон проникает довольно много логики, которой неплохо бы быть на уровне приложения. Что в свою очередь ведет к тому, что все это сложно поддерживать. Еще одно свойство шаблонной системы — безопасность. Можно обращаться не к любым методам, а только к тем, которые не меняют сами объекты. Поэтому шаблон спокойно можно отдать на редактирование кому-то другому, зная, что он ничего не сломает.

  • Красивые URL'ы.


2 Интегралы




2.1 Общие сведения и история



Интеграл функции — аналог суммы последовательности. Неформально говоря, (определённый) интеграл является площадью части графика функции (в пределах интегрирования), то есть площадью криволинейной трапеции. Процесс нахождения интеграла называется интегрированием.
Первым известным методом для расчёта интегралов является метод исчерпывания Евдокса (примерно 370 до н. э.), который пытался найти площади и объёмы, разрывая их на бесконечное множество частей, для которых площадь или объём уже известны.

Этот метод был подхвачен и развит Архимедом, и использовался для расчёта площадей парабол и приближенного расчёта площади круга.

Аналогичные методы были разработаны независимо в Китае в 3-м веке н. э. Лю Хуэйем, который использовал их для нахождения площади круга. Этот метод был впоследствии использован Дзю Чонгши для нахождения объёма шара.

2.2 Метод парабол



Формула Симпсона (также Ньютона-Симпсона) относится к приёмам численного интегрирования. Получила название в честь британского математика Томаса Симпсона (1710—1761). Суть приёма заключается в приближении подынтегральной функции на отрезке интерполяционным многочленом второй степени, то есть приближение графика функции на отрезке параболой.

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

.

Если разбить интервал интегрирования на  равных частей, то имеем



где .

2.3 Метод трапеций



Метод трапеций — метод численного интегрирования функции одной переменной, заключающийся в замене на каждом элементарном отрезке подынтегральной функции на многочлен первой степени, то есть линейную функцию. Площадь под графиком функции аппроксимируется прямоугольными трапециями.

Если отрезок  является элементарным и не подвергается дальнейшему разбиению, значение интеграла можно найти по формуле



Это простое применение формулы для площади трапеции — полусумма оснований, которыми в данном случае являются значения функции в крайних точках отрезка, на высоту (длину отрезка интегрирования). Погрешность аппроксимации можно оценить через максимум второй производной





3 Практическая часть


Результатом данной работы является Web-приложение на фреймворке Django.

3.1 Главная страница



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


Рисунок 1 – Главная страница приложения

3.2 Результаты



В зависимости от введённых данных пользователь может получить следующие результаты:



Рисунок 2 – Значение интеграла


Рисунок 3 – Неверная формула


Рисунок 4 – Неверно заданы границы

3.3 Информация



Тут находится список функций, которые пользователь может использовать при запросе и пример корректно введённых функций:


Рисунок 5 – Окно помощи

3.3 Об авторе



Содержит имя автора программы и название операционной системы, на которой запущен сервер:


Рисунок 6 – Окно помощи

3.4 Помощь


Данная страница содержит краткие теоретические сведения об интегрировании в целом и об интегрирование методом парабол и методом трапеций, в частности.


4 Результаты работы


Для примера возьмём четыре интеграла и вычислим их значения с использованием моего современного приложения и сравним результаты с обычным приложением, таким как Wolffram Mathematica 8.0.
f1=

f2=

f3=

f4=
Код для Mathematica:
N[f1]

N[f2]

N[f3]

N[f4]
g1:=ListLinePlot[{{10,f1},{100,f1},{1000,f1},{10000,f1}},PlotStyle{{RGBColor[1,0,0]}}]

g2:=ListLinePlot[{{10,f2},{100,f2},{1000,f2},{10000,f2}},PlotStyle{{RGBColor[1,0,0]}}]

g3:=ListLinePlot[{{10,f3},{100,f3},{1000,f3},{10000,f3}},PlotStyle{{RGBColor[1,0,0]}}]

g4:=ListLinePlot[{{10,f4},{100,f4},{1000,f4},{10000,f4}},PlotStyle{{RGBColor[1,0,0]}}]
trap1:=ListLinePlot[{{10,100.028870063},{100,10.3228420536},{1000,3.1493480976},{10000,3.1375926589}},PlotStyle{{RGBColor[0,1,0]}}]

trap2:=ListLinePlot[{{10,78.3657765262},{100,78.1777224473},{1000,78.1758222302},{10000,78.1758032259}},PlotStyle{{RGBColor[0,1,0]}}]

trap3:=ListLinePlot[{{10,8.86318602413},{100,8.86226925453},{1000,8.86226925453},{10000,8.86226925453}},PlotStyle{{RGBColor[0,1,0]}}]

trap4:=ListLinePlot[{{10,-33834.8806218},{100,-3673.42195765},{1000,-857.547589545},{10000,-722.037993771}},PlotStyle{{RGBColor[0,1,0]}}]
simp1:=ListLinePlot[{{10,33.4060745175},{100,4.07542968142},{1000,3.13370339407},{10000,3.13759265892}},PlotStyle{{RGBColor[0,0,1]}}]

simp2:=ListLinePlot[{{10,78.1762934724},{100,78.1758030864},{1000,78.1758030339},{10000,78.1758030339}},PlotStyle{{RGBColor[0,0,1]}}]

simp3:=ListLinePlot[{{10,8.86196366466},{100,8.86226925453},{1000,8.86226925453},{10000,8.86226925453}},PlotStyle{{RGBColor[0,0,1]}}]

simp4:=ListLinePlot[{{10,-6980.88806376},{100,-619.957189713},{1000,-671.993115407},{10000,261.045568153}},PlotStyle{{RGBColor[0,0,1]}}]
Show[g1,trap1,simp1,PlotRange{3.12,3.16}]

Show[g2,trap2,simp2,PlotRange{78.175,78.178}]

Show[g3,trap3,simp3,PlotRange{8.8622,8.8624}]

Show[g4,trap4,simp4, PlotRange{-7000,265}]
Точные значение интегралов:

2 ArcTan[500]

-20 (-5+)

5 Erf[10]

2-Cos[1488]-Cos[313373]
Приближенные:

3.13759

78.1758

8.86227

0.912781
Построим графики, которые будут отображать значение интегралов полученных методом Симпсона (синий цвет), методом трапеций (зеленый цвет) и точное значение (красный цвет).



Рисунок 7 – Интеграл 1



Рисунок 8 – Интеграл 2


Рисунок 9 – Интеграл 3


Рисунок 10 – Интеграл 4
Видно, что при достаточно большом количестве шагов значение, полученные при помощи моей совершенной программы приближаются к точному значению, что позволяет сделать вывод, что программа работает верно и позволяет вычислять интегралы двумя методами. По графикам так же видно, что метод Симпсона даёт лучшую точность при одинаковом числе шагов

ЗАКЛЮЧЕНИЕ




  • Рассмотрен процесс интегрирования

  • Разработано Web-приложение на фреймворке Django, вычисляющее интеграл, используя нужный метод

  • Исследована программа Mathematica

  • Проанализированы полученные результаты



СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ



1. Вакульчик, П.А. Методы численного анализа: пособие для студентов фак. прикл. мат. и информатики / П.А. Вакульчик - Мн.: БГУ, 2008. – 311 с.

2. Морозов, А. Программирование задач численного анализа в системе Mathematica: Учеб. пособие / А.А. Морозов, В.Б. Таранчук. Мн.: БГПУ, 2005. -145 с.

3. У. Чан, П. Биссекс, Д. Форсье Django. Разработка веб-приложений на Python = Python Web Development with Django / пер. с англ. А. Киселёв. — СПб.: Символ-Плюс, 2009. — 456 с. 

4. [Электрон. ресурс] Иллюстрированный самоучитель по Mathematica. ИПМО-АП/е_Библиотека /Taranchuk/ #самоучитель по Mathematica/ #Оглавление.htm

5. [Электрон. ресурс] Курсовое проектирование, 5 семестр. БГУ, факультет прикладной математики и информатики, \\Serv314\subfaculty\Курс_проектирование\02_Объявления\ КурсовойПроект2011.pps.



Похожие:

Курсовой проект студента 3 курса 3 группы \"Допустить к защите\" iconКурсовой проект студента 3 курса 3 группы "Допустить к защите"
...
Курсовой проект студента 3 курса 3 группы \"Допустить к защите\" iconОтчет по преддипломной практике студента 5 курса 5 группы "Допустить к защите"
Размещенные в электронной библиотеке методические материалы, примеры из обучающих программных модулей
Курсовой проект студента 3 курса 3 группы \"Допустить к защите\" iconДипломная работа студента 5 курса 6 группы "Допустить к защите" Зав кафедры мф корзюк Виктор Иванович
В данной дипломной работе изучаются различные реализации фильтра Гаусса и производится их сравнительный анализ с параллелизацией...
Курсовой проект студента 3 курса 3 группы \"Допустить к защите\" iconДипломная работа студента 541 группы Минина Ивана Сергеевича «Допустить к защите» Заведующий кафедрой
Дипломная работа содержит описание системы реального времени автоматического определения и отслеживания целей по сигналу (морского)...
Курсовой проект студента 3 курса 3 группы \"Допустить к защите\" iconКурсовой проект по дисциплине "Организация эвм, комплексов и систем"
Поэтому задание на курсовой проект построено так, что для работы над ним требуется привлечение знаний и данного курса и ранее изученных...
Курсовой проект студента 3 курса 3 группы \"Допустить к защите\" iconРеализация сервисов многоцелевого поиска и заказа группы товаров
Н. Г. Графеева Рецензент М. В. Кисин "Допустить к защите" д ф м н., проф. А. Н. Терехов
Курсовой проект студента 3 курса 3 группы \"Допустить к защите\" iconКурсовой проект задание на курсовой проект
Летательный аппарат (ЛА), рассматриваемый как твердое тело, может быть описан следующим образом
Курсовой проект студента 3 курса 3 группы \"Допустить к защите\" iconТемы курсовых работ по дисциплине «Дискретная математика»
Номер темы курсовой работы соответствует порядковому номеру студента в списке группы
Курсовой проект студента 3 курса 3 группы \"Допустить к защите\" iconТема курсовой работы для 1 студента 3 курса фбб мгу
Звание и/или должность. Фамилия. Имя, отчество (полностью, чтобы студент знал как обращаться)
Курсовой проект студента 3 курса 3 группы \"Допустить к защите\" iconСамостоятельная работа студента учебно-методического или научно-исследовательского характера, выполняемая под руководством преподавателя
Курсовой проект (работа) служит углубленному изучению какого-либо вопроса, темы, раздела учебной дисциплины, овладению методами современных...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org