Разработка программы вычисляющей интеграл
Разработка программы вычисляющей определенный интеграл методом трапеций для подынтегральной функции, моделирует задачу вынужденных колебаний без затухания. Метод Рунге-Кутта четвертого порядка точности. Аппроксимация функций методом наименьших квадратов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 01.06.2013 |
Размер файла | 655,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
В наши дни невозможно представить жизнь без компьютера, особенно если это связано с работой на некотором предприятии. Невозможно представить сейчас производственную, учебную деятельность и в общем жизнь людей без компьютерных систем и технологий. Математические и научно-технические расчеты являются важной сферой применения персональных компьютеров. Часто они выполняются с помощью программ, написанных на языке высокого уровня. С каждым днем повышаются требования к уровню подготовки молодых специалистов в этой сфере деятельности. Для этого изучаются языки программирования и многочисленные, подчас весьма тонкие капризные численные методы математических расчетов [1]. Выполненная курсовая работа является показателем того, чем студент занимался все время учебы.
Целью работы является разработка программы вычисляющей определенный интеграл методом трапеций для подынтегральной функции и моделирует задачу вынужденных колебаний без затухания.
В данном проекте для получения решения поставленных задач используются такие пакеты, как Delphi, Mathcad. Для достижения цели выполнения курсовой работы, необходимо решить следующие задачи:
· произвести формулировку задачи с конкретными данными;
· провести предварительный анализ задачи, описать математический аппарат, который будет использоваться для её решения;
· в соответствии с определенным заданием разработать алгоритм решения задачи;
· разработать программу в среде Delphi, реализующую построенный алгоритм;
· решить задачу с помощью интегрированного пакета MathCAD;
· провести анализ полученных результатов;
· сделать общие выводы.
Предметом исследования являются методы решений определенных интегралов, и дифференциальных уравнений.
Данное исследование имеет научную и практическую значимость. Использование данных программ даёт возможность инженерам, физикам, простым пользователям, значительно быстрее и менее трудоёмко выполнить расчеты. Собранный материал может быть использован в курсе «Информатика» - в этом и заключается практическая значимость данного исследования.
1. Теоретическая часть
1.1 Обзор программных средств
В первую очередь Delphi предназначался для профессионалов-разработчиков корпоративных информационных систем. Cреда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD - rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE.
Среда Delphi является очень удобной при решении различного рода задач, так как позволяет находить коэффициенты аппроксимирующих полиномов (многочленов) для табулированной функции, и создать удобный для пользователя интерфейс. Поэтому эта среда разработки широко используется как на производстве, так и в учебных заведениях и научных учреждениях.
Mathcad относится к системам компьютерной алгебры, то есть средств автоматизации математических расчетов. Mathcad содержит сотни операторов и встроенных функций для решения различных технических задач. Программа позволяет выполнять численные и символьные вычисления, производить операции с скалярными величинами, векторами и матрицами, автоматически переводить одни единицы измерения в другие.
Среди возможностей Mathcad можно выделить то, что онпозволяет находить коэффициенты аппроксимирующих полиномов (многочленов) для табулированной функции, но он отличается от Delphi тем, что многие функции уже заложены разработчиками, что значительно упрощает задачу.
1.2 Математическая модель
Метод Рунге-Кутта 4-го порядка точности
Смещение из точки [xk; yk] в точку происходит не сразу, а через промежуточные точки. На практике наибольшее распространение получил метод 4-го порядка точности. Значение функции в i+1-й точке вычисляется следующим образом:
(1.4)
Метод Рунге-Кутта обладает достаточно высокой точностью, легко программируется, так как для вычисления нужно знать лишь одно значение yi. С помощью этого метода можно начинать решение ДУ. Величина шага изменения аргумента х легко меняется на любом этапе вычисления.
Недостатки:
1) необходимость четыре раза вычислять значение функции на каждом шаге;
2) отсутствие легко определяемой оценки ошибки метода.
Для оценки правильности шага рассчитывают: , которое должно быть меньше либо равно 0,05. В противном случае шаг следует уменьшить в два раза, провести вычисления и снова оценить д.
Метод Рунге-Кутта имеет порядок точности, сопоставимый со значением шага, взятым в 4-й степени. Для оценки погрешности метода пользуются формулой Рунге:
Аппроксимация функций методом наименьших квадратов. Аппроксимация является частным случаем интерполирования и применяется для определения аналитического вида функции заданной таблично. Задача аппроксимации сводится к определению свободного параметра (параметров) функции заданного вида, который обеспечит наилучшее приближение функции заданной таблично модельной аналитической функцией.
Метод наименьших квадратов.
Пусть таблично задана функция . Определить аппроксимационный многочлен вида:
Для определения коэффициентов (где i=1,2…m) используют аппроксимацию методом наименьших квадратов [3]. Функционал находится по формуле , где n - количество пар значений аргумента xi и функции yi. Т.к. S должен быть минимален, то первые частные производные от S по всем коэффициентам полинома должны равняться нулю. Вычислим их и приравняем к нулю:
(1)
После преобразования система слегка упростится:
интеграл программа трапеция подынтегральный
(2)
Если полином первой степени, то 2 уравнения, если шестой степени, то 7 уравнений. Введём следующие обозначения:
С учётом этих обозначений система (2) перепишется следующим образом:
(3)
Решив эту систему одним из известных методов определится ряд значений , с помощью которого и строится многочлен (1).
Среднеквадратичное отклонение вычисляется по формуле:
1.3 Блок-схемы алгоритмов решений поставленных задач
Рисунок 1.1 - Блок-схема метода Рунге-Кутта
Рисунок 1.2 - Блок-схема аппроксимации
2. Практическая часть
2.1 Решение поставленной задачи в Delphi
2.1.1 Описание интерфейса программы в среде Delphi
Интерфейс программы представлен главной формой. Форма имеет три вкладки Page Control. Первая вкладка имеет название «Задание 1» на ней находятся кнопки «Выйти», «Сохранить график», «Вычислить», «Очистить».
Компонент TChart отображает график, результаты расчетов выводятся на поле Memo. Также используя компонент CheckBox выбираем метод. Следующие две вкладки «Задание 2» и «Задание 2 (аппроксимация)» имеют похожий набор компонентов. Это компоненты для ввода вывода информации, а также компоненты для сохранения расчетов и графиков в файл. Для визуального улучшения интерфейса программы используeтся XPManifest.
2.1.2 Перечень использованных в программе идентификаторов
Перечень использованных в программе идентификаторов находится в таблице (Таблица 1.1).
Таблица 1.1 - Перечень использованных в программе идентификаторов
Идентификаторы |
||
p3, p6, p7 |
массивы для хранения коэффициентов полинома |
|
x, f |
массивы для хранения значений x, y |
|
T, C |
массивы для хранения коэффициентов T и C |
|
Y |
значение функции |
|
DataX, DataY, StrXi, StrYi, Code |
переменные используемые при работе с файлом |
|
B, Bik |
используются при прямом ходе метода Гаусса |
|
A |
массив для хранения вычисленных коэф. полинома |
|
Delta |
среднеквадратичное отклонение |
|
i, ii, j, jj, n, k, s |
переменные для работы циклов |
|
Xi, Yi |
используются для преобразования строк в число |
|
f, x, x0, y, t, m |
используются в первом задании |
2.1.3 Тексты основных модулей и вид форм приложения
Тексты основных модулей приведены в приложении А.
Вид формы
Рисунок 2.1 - Меню программы
Рисунок 2.2 - Форма программы
2.1.4 Графическое представление результатов
Рисунок 2.2 - Графическое представление результатов
2.2 Решение поставленной задачи средствами MathCad
Рисунок 2.5 - Решение поставленной задачи средствами MathCad
2.2.1 Перечень использованных в программе идентификаторов
Перечень использованных в программе идентификаторов (Таблица 2.1).
Таблица 2.1 - Перечень использованных в программе идентификаторов
Идентификаторы |
||
x |
значения аргумента |
|
f |
значения функции |
|
A |
значения коэффициентов полинома |
|
Poly |
значение функции на основе коэф. |
|
Q |
среднеквадратичное отклонение |
|
xx, i, j |
переменные цикла |
Заключение
При решении задач применено два различных средства программирования - среда DELPHI и MathCad. Это позволяет сравнить их в конкретной ситуации и оценить их достоинства и недостатки.
MathCad является достаточно распространенным продуктом, что привело к его частому применению, в том числе и для решения задач отображения графической информации в виде различных графиков. Выполнение той же задачи с помощью DELPHI требует гораздо больше времени, более глубоких знаний в области программировании навыков их применения. Возможно, MathCad позволяет решать подобные задания даже быстрее, чем среда DELPHI, но она является очень гибкой и универсальной, а для неопытных пользователей это составляет определённые трудности.
В результате курсовой работы был разработан алгоритм решения поставленной задачи, точно такая же задача была решена в среде MathCad.
Полученный алгоритм имеет практическое значение, т. к. задача решается в многих сферах деятельности человека таких как научные исследования, прогнозирование погоды, математические расчеты и т.д.
Опыт, который получен при выполнении курсовой работы позволит сделать правильный выбор при выборе средства для решении подобных задач в практике и целесообразности их применения.
Размещено на Allbest.ru
...Подобные документы
Разработка программы, которая вычисляет определенный интеграл методом трапеций для подынтегральной функции и моделирует задачу вынужденных колебаний без затухания. Описание интерфейса программы в среде Delphi. Решение задачи с помощью пакета MathCAD.
курсовая работа [738,8 K], добавлен 24.05.2013- Разработка программы, вычисляющей определенный интеграл методом трапеций для подынтегральной функции
Разработка алгоритма решения определенного интеграла методом трапеций для подынтегральной функции и моделирования задачи вынужденных колебаний без затухания. Описание интерфейса программы в среде Delphi и MathCad; идентификаторы, модули и приложения.
курсовая работа [500,4 K], добавлен 28.05.2013 Идея численного интегрирования. Создание программы, вычисляющей определенный интеграл методом трапеций. Листинг программы, результаты работы. Проверка в среде Mathcad. Зависимость точности вычисления от количества отрезков разбиения, расчет погрешности.
отчет по практике [106,8 K], добавлен 28.04.2013Математическое описание задачи решения обыкновенного дифференциального уравнения численным явным методом Рунге-Кутта, разработка схемы алгоритма и написание программы в среде программирования Microsoft Visual Studio 2010. Тестирование работы программы.
курсовая работа [1,1 M], добавлен 22.01.2014Разработка программы на языке высокого уровня, позволяющей для заданной функции рассчитать определенный интеграл приближенным и точным методом, оценить погрешность и вывести результаты на консоль. Определение площади методом входящих прямоугольников.
курсовая работа [225,4 K], добавлен 18.08.2012Построение эмпирических формул методом наименьших квадратов. Линеаризация экспоненциальной зависимости. Элементы теории корреляции. Расчет аппроксимаций в табличном процессоре Excel. Описание программы на языке Turbo Pascal; анализ результатов ее работы.
курсовая работа [390,2 K], добавлен 02.01.2015Численные методы. Создание программного продукта, использование которого позволит одновременно исследовать два метода вычисления определенных интегралов: метод трапеций и метод Симпсона. Рассмотрен ход вычисления интеграла в виде кода программы.
курсовая работа [834,6 K], добавлен 14.04.2019Построение эмпирических формул методом наименьших квадратов. Линеаризация экспоненциальной зависимости. Элементы теории корреляции. Расчет коэффициентов аппроксимации, детерминированности в Microsoft Excel. Построение графиков функций, линии тренда.
курсовая работа [590,9 K], добавлен 10.04.2014Определение зависимости скорости вала двигателя от времени. Математическая модель решения задачи. Решение задачи Коши на интервале методом Эйлера и Рунге-Кутта четвертого порядка точности. Алгоритм решения задачи. Текст программы и результаты ее работы.
контрольная работа [108,9 K], добавлен 08.03.2013Особенности метода численного интегрирования функции одной переменной. Замена на каждом элементарном отрезке подынтегральной функции на многочлен первой степени (линейную функцию). Разработка алгоритма программы, ее листинг. Пример работы программы.
контрольная работа [217,9 K], добавлен 14.07.2012Решения алгебраических уравнений методом выделения корней. Аппроксимация функций методом наименьших квадратов; дихотомия, бисекция. Одномерная оптимизация многоэкстремальных функций; метод золотого сечения. Многомерная оптимизация градиентным методом.
курсовая работа [956,7 K], добавлен 04.03.2013Разработка программы на языке Turbo Pascal 7.0 для преобразования кинетической схемы протекания химических реакций при изотермических условиях в систему дифференциальных уравнений. Ее решение в численном виде методом Рунге-Кутта четвертого порядка.
курсовая работа [929,7 K], добавлен 06.01.2013Составление программы на алгоритмическом языке Turbo Pascal. Разработка блок-схемы алгоритма её решения. Составление исходной Pascal-программы и реализация вычислений по составленной программе. Применение методов Рунге-Кутта и Рунге-Кутта-Мерсона.
курсовая работа [385,0 K], добавлен 17.09.2009Обыкновенное дифференциальное уравнение первого порядка. Задача Коши, суть метода Рунге-Кутта. Выбор среды разработки. Программная реализация метода Рунге-Кутта 4-го порядка. Определение порядка точности метода. Применение языка программирования C++.
курсовая работа [163,4 K], добавлен 16.05.2016Аппроксимация линейной, степенной и квадратичной функции. Определение корней уравнения вида f(x)=0 методом половинного деления. Вычисление определенного интеграла методом прямоугольников, трапеций, парабол и Эйлера. Интерполяция формулой Лагранжа.
курсовая работа [1,3 M], добавлен 21.09.2011Разработка алгоритма аппроксимации данных методом наименьших квадратов. Средства реализации, среда программирования Delphi. Физическая модель. Алгоритм решения. Графическое представление результатов. Коэффициенты полинома (обратный ход метода Гаусса).
курсовая работа [473,6 K], добавлен 09.02.2015Аппроксимация – процесс замены таблично заданной функции аналитическим выражением кривой. Алгоритм нахождения зависимости между заданными переменными. Условия сходимости итераций к решению системы уравнений. Методы Якоби и Гаусса. Тестирование программы.
курсовая работа [1,4 M], добавлен 28.08.2012Математическое описание, алгоритм и программа вычисления определенного интеграла методом трапеций. Расчет n-значений исследуемой функции и вывод их в виде таблицы. Технические и программные средства. Входные и выходные данные, функциональное назначение.
курсовая работа [21,0 K], добавлен 03.01.2010Реализация приложения, которое выполняет считывание, обработку, визуализацию и аппроксимацию экспериментальных данных полиномиальной функции. Блок схема алгоритма аппроксимации методом наименьших квадратов. Разработка интерфейса и листинга программы.
курсовая работа [1,1 M], добавлен 07.07.2013Анализ предметной области объектно-ориентированного программирования. Языки Delphi, Object Pascal - объектно-ориентированная среда программирования. Основные алгоритмические решения. Решение дифференциального уравнения методом Рунге-Кутта в среде Excel.
курсовая работа [1,5 M], добавлен 02.04.2011