close

Вход

Забыли?

вход по аккаунту

?

тело.re-upd

код для вставкиСкачать
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ6
ЗАДАНИЕ 17
1.1 Постановка задачи7
1.2 Теоретическая часть7
1.2.1 Математическая модель7
1.3 Разработка программы в среде Delphi11
1.3.1 Блок-схема алгоритма11
1.3.2 Тестирование программы14
1.4 Разработка программы в пакете MathCAD14
1.4.1 Тестирование программы14
1.5 Анализ полученных результатов15
ЗАДАНИЕ 216
2.1 Постановка задачи16
2.2. Теоретическая часть16
2.3. Разработка программы в среде Delphi19
2.3.1 Блок-схема алгоритма19
2.3.2. Тестирование программы20
2.4. Разработка программы в пакете MathCAD20
2.4.1 Тестирование программы20
2.5. Анализ полученных результатов22
ЗАКЛЮЧЕНИЕ23
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ24
ПРИЛОЖЕНИЯ25
ВВЕДЕНИЕ
На современном этапе развития науки и общества ведущее место занимают информационные технологии. Невозможно представить сейчас производственную, учебную деятельность и в общем жизнь людей без компьютерных систем и технологий. Стремительно повышаются требования к уровню подготовки в этой сфере специалистов различных областей.
В настоящий момент большинство инженерных расчетов ведется с помощью специальных компьютерных программ: Excel, MatLab, MathCad, Derive, Maple, Mathematica и других. Это значительно повышает точность и качество расчетов.
Для решения ряда практических задач применение точных методов расчёта является неприемлемым в связи с возникающими трудностями вычислений. Для этого используются численные методы, которые позволяют производить вычисления лишь с заданной степенью точности, упрощая реальный предмет и заменяя его физической моделью. Целью работы является разработка алгоритмов решения нелинейных уравнений заданными методами.
В данном проекте для получения решения уравнения используются такие пакеты, как Delphi, MathCad. Среда Delphi является очень удобной при решении такого рода задач, так как позволяет не только с большой точностью с помощью программного кода найти корни того или иного уравнения, но и создать удобный для пользователя интерфейс. Математический пакет MathCad также позволяет решать системы уравнений и простые уравнения, но он отличается от Delphi тем, что многие функции уже заложены разработчиками, что значительно упрощает задачу. Поэтому этот пакет широко используется как на производстве, так и в учебных заведениях и научных учреждениях.
1 МЕТОДЫ РЕШЕНИЯ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
1.1 Постановка задачи
Для удобства представим все исходные данные в виде таблицы 1.1.
Таблица 1.1 - Исходные данные курсовой работы
№ варианта Исходные данные 7 Для полного и качественного выполнения курсовой работы, необходимо выполнить приведенные ниже пункты:
Графически отделить корни уравнения. Параметр а задать самостоятельно путём подбора, так, чтобы уравнение имело не менее 3-х корней. Определить при каких значениях параметра а уравнение имеет 1, 2 и 3 корня. Если уравнение не имеет указанного количества корней (1, 2, 3), объяснить почему.
Разработать алгоритмы уточнения корней уравнения.
На языке программирования Delphi создать программу для уточнения корней уравнения указанными методами, реализующую разработанные алгоритмы. Решить задачу средствами MathCad.
Построить график функции F(x,a) от x для параметра а, использовавшегося при отделении и уточнении корней. 1.2 Теоретическая часть
1.2.1 Математическая модель
Процесс решения нелинейных уравнений состоит из двух этапов:
1) отделение корней, то есть отыскание отрезков, внутри которых содержится только один корень данного уравнения. Для этого применяют численный или графический методы. В последнем случае строится график функции, и корни уравнения будут находиться в точках пересечения графика с осью абсцисс. При численном исследовании составляют таблицу значений функции. Если она меняет знак на противоположный, то на этом участке существует корень. Причём необходимо найти производную функции и проверить её на монотонность и экстремум. Функция имеет единственный корень на данном участке, если её производная сохраняет свой знак;
2) уточнение значения отделённых корней до некоторой заданной степени точности.
Метод хорд
Позволяет избежать нахождения производной так как использует следующее рекуррентное соотношение:
(1.1)
Рисунок 1.1 - Уточнение корней методом хорд
В качестве постоянной с выбирается один из концов отрезка, а в качестве начального приближения оставшийся конец, причём должно выполнятся условие:
(1.2)
Этапы решения уравнения методом хорд:
1.Нахождение приближения 2.Проверка достижения заданной точности.
3.Нахождение следующего приближения 4.Если требуемая точность достигнута, задача решена.
Метод касательных В качестве начального приближения выбираем конец отрезка. В противном случае сходимость метода не гарантируется. Далее проводят касательные в точки к кривой. Каждое последующее приближение определяется из рекуррентного соотношения. (1.3)
Итерационный процесс продолжается до тех пор, пока (1.4)
, (1.5)
где - заданная погрешность вычислений.
Начальное приближение выбирается при выполнении следующего условия: (1.6)
Рисунок 1.2- Геометрический смысл метода касательных
Если условие выполняется, то гарантируется сходимость метода. Чаще всего в качестве начального приближения выбирается координата конца того отрезка, для которого выполняется условие. Скорость сходимости метода Ньютона имеет квадратичную зависимость.
В особых случаях, когда сложно выбрать начальное приближение, то уравнение решается методом половинного деления и полученное значение уточняется с помощью метода Ньютона.
Метод половинного деления
Сущность метода заключается в следующем: в качестве начального приближения выбирается
, (1.7)
где , - координаты концов отрезка. Затем проверяются знаки функции в точках[2]:
(1.8)
Интервал (или) вновь делится пополам, и выбирают тот интервал, на концах которого выполняется условие (1.6) и т.д. Если требуется определить корень с точностью , то деление пополам продолжается до тех пор, пока длина отрезка не станет меньше . В этом случае половина последнего отрезка и есть корень требуемой точности. Метод деления отрезка пополам обладает линейной скоростью сходимости. Для достижения точности достаточно выполнение n итераций, где
Погрешность на -й и -й итерации связано соотношением , =1,2,3,...
Рисунок 1.3 - Геометрический смысл метода деления отрезка пополам при разных вариантах графиков
1.3 Разработка программы в среде Delphi
1.3.1 Блок-схема алгоритма
Блок-схемы алгоритмов решения поставленной задачи представлены на рисунках 1.4, 1.5 и 1.6 - для методов касательных, хорд и деления пополам соответственно. Рисунок 1.4 - Блок-схема алгоритма метода касательных
Рисунок 1.5 - Блок-схема алгоритма метода хорд
Рисунок 1.6 - Блок-схема алгоритма метода деления отрезка пополам
1.3.2 Тестирование программы
Создать приложение в среде Delphi не представляется возможным в связи с тем, что исходное уравнение (предложенное условиями курсовой работы) не имеет решений при любых коэффициентах a.
Если в MathCAD мы можем продемонстрировать невозможность решения данного уравнения (подробнее в пункте1.4.1), то в среде Delphi даже это не представляется возможным. Приложение Delphi использует начальные приближения, полученные в результате решения поставленной задачи средствами MathCAD.
Дело в том, что при решении данного уравнения в среде MathCAD мы находим корни уравнения и строим график. После этого, по графику определяем промежутки для вычисления того же уравнения в среде Delphi. Но в связи с тем, что в MathCAD мы не получили корней уравнения, так же как и график функции, то для решения задачи в Delphi у нас нет исходных данных.
1.4 Разработка программы в пакете MathCAD
1.4.1 Тестирование программы
При подборе коэффициента a выяснено, что при любых значениях коэффициента, уравнение не имеет решений.
Выясним, при каких a уравнение имеет решения. MathCAD имеет встроенные возможности решения уравнений с двумя неизвестными при переборе одной из неизвестных. Перебирать будем, естественно, коэффициент a. Принимаем промежуток от -1000 до 1000 с шагом в 1. В итоге имеем поиск корней уравнения при 2000 различных a.
Результат представлен на рисунке 1.7.
Рисунок 1.7 - Решение задачи в MathCAD
1.5 Анализ полученных результатов
Сравнивать нечего, так как никаких результатов не получено ни в среде Delphi, ни в среде MathCAD.
2 АППРОКСИМАЦИЯ ТАБУЛИРОВАННЫХ ФУНКЦИЙ МЕТОДОМ НАИМЕНЬШИХ КВАДРАТОВ
2.1 Постановка задачи
Для удобства представим все исходные данные в виде таблицы 2.1.
Таблица 2.1 - Исходные данные курсовой работы
№ варианта Вид функции Степень многочлена 7 y_3=f(y_1) 3, 5, 6 Для полного и качественного выполнения курсовой работы, необходимо выполнить приведенные ниже пункты:
Разработать алгоритм нахождения коэффициентов трёх аппроскимирующих полиномо (многочленов).
Рассчитать среднеквадратичные отклонения.
Построить графики трёх полученных приближающих функций в одной системе координат. Решить задачу средствами MathCad.
2.2. Теоретическая часть
Очень часто, особенно при анализе эмпирических данных возникает необходимость найти в явном виде функциональную зависимость между величинами x и y , которые получены в результате измерений.
Эта таблица обычно получается как итог каких-либо экспериментов, в которых (независимая величина) задается экспериментатором, а получается в результате опыта. Между величинами x и y существует функциональная зависимость, но ее аналитический вид обычно неизвестен, поэтому возникает практически важная задача - найти эмпирическую формулу (2.1):
(2.1)
где - параметры, значения которых при возможно мало отличались бы от опытных значений .
Если в эмпирическую формулу (2.1) подставить исходные , то получим теоретические значения , где .
Разности называются отклонениями и представляют собой расстояния по вертикали от точек до графика эмпирической функции. Согласно методу наименьших квадратов наилучшими коэффициентами считаются те, для которых сумма квадратов отклонений найденной эмпирической функции от заданных значений функции:
(2.2)
будет минимальной.
Поясним геометрический смысл метода наименьших квадралтов.
Каждая пара чисел из исходной таблицы определяет точку на плоскости . Используя формулу (2.1) при различных значениях коэффициентов можно построить ряд кривых, которые являются графиками функции (2.1). Задача состоит в определении коэффициентов таким образом, чтобы сумма квадратов расстояний по вертикали от точек до графика функции (2.1) была наименьшей.
Построение эмпирической формулы состоит из двух этапов: выяснение общего вида этой формулы и определение ее наилучших параметров.
Если неизвестен характер зависимости между данными величинами x и y , то вид эмпирической зависимости является произвольным. Предпочтение отдается простым формулам, обладающим хорошей точностью. Большое значение имеет изображение полученных данных в декартовых или в специальных системах координат (полулогарифмической, логарифмической и т.д.). По положению точек можно примерно угадать общий вид зависимости путем установления сходства между построенным графиком и образцами известных кривых.
Для того, чтобы найти набор коэффициентов , которые доставляют минимум функции S , определяемой формулой (2.2), используем необходимое условие экстремума функции нескольких переменных - равенство нулю частных производных. В результате получим нормальную систему для определения коэффициентов :
(2.3)
Таким образом, нахождение коэффициентов сводится к решению системы (2.3).
Эта система упрощается, если эмпирическая формула (2.1) линейна относительно параметров , тогда система (2.3) - будет линейной.
Конкретный вид системы (2.3) зависит от того, из какого класса эмпирических формул мы ищем зависимость (2.1). В случае линейной зависимости система (2.3) примет вид:
(2.4)
В случае квадратичной зависимости система (2.3) примет вид:
(2.5)
Эта линейная система может быть решена любым известным методом (методом Гаусса, простых итераций, формулами Крамера).
2.3. Разработка программы в среде Delphi
2.3.1 Блок-схема алгоритма
Блок-схема алгоритма решения поставленной задачи представлена на рисунке 2.1. Рисунок 2.1 - Блок-схема алгоритма 2.3.2. Тестирование программы
Результаты расчетов представлены на рисунке 2.2.
Рисунок 2.2 - Полученное решение задачи в виде численных значений
2.4. Разработка программы в пакете MathCAD
2.4.1 Тестирование программы
Решение задачи методами MathCAD сводится к использованию встроенных функций regress и interp.
Решение задачи представлено на рисунках 2.3-2.5 для каждой из степеней многочлена, указанных в условиях курсовой работы.
Рисунок 2.3 - Решение задачи в MathCAD
Рисунок 2.4 - Решение задачи в MathCAD
Рисунок 2.5 - Решение задачи в MathCAD
2.5. Анализ полученных результатов
Получив решения в двух различных программах, проанализируем результаты, тем самым проверим правильность решения поставленной задачи. Полученные результаты сравниваються в таблице 2.2.
Таблица 2.2. - Значения уточнённых корней
Метод решенияDelphiMathCADСтепень многочлена356356Коэффициенты полинома3.591
0.012
-5.37∙〖10〗^(-3)
4.445∙〖10〗^(-5)1.735
0.654
-0.062
1.985∙〖10〗^(-3)
-2.798∙〖10〗^(-5)
1.42∙〖10〗^(-7)1.201
0.939
-0.11
5.254∙〖10〗^(-3)
-1.307∙〖10〗^(-4)
1.593∙〖10〗^(-6)
-7.387∙〖10〗^(-9)3.591
0.012
-5.37∙〖10〗^(-3)
4.445∙〖10〗^(-5)1.735
0.654
-0.062
1.985∙〖10〗^(-3)
-2.798∙〖10〗^(-5)
1.42∙〖10〗^(-7)1.201
0.939
-0.11
5.254∙〖10〗^(-3)
-1.307∙〖10〗^(-4)
1.593∙〖10〗^(-6)
-7.387∙〖10〗^(-9)Отклонение0,3670,04960,0080.4490,0619.217∙〖10〗^(-3) При анализе полученных результатов видно, что в среде Delphi и в среде MathCad значения совпадают, но существует небольшая погрешность в квадратичном отклонении. Погрешность связана с различием методов, с помощью которых мы приходим к конечному результату.
ЗАКЛЮЧЕНИЕ
В данной работе необходимо было найти решение двум задачам - решению нелинейного уравнения и аппроксимации полиномами - , что и было выполнено на практике при помощи Delphi и MathCAD. В первом задании по условиям задано нелинейное уравнение, которое решалось тремя способами в среде Delphi: методом хорд, методом деления отрезка пополам и методом касательных. Все вышеперечисленные методы были освоены. Решение найти не удалось. В ходе разработки второго задания курсового проекта, получили результаты, которые выполнены с большой точностью, как в среде Delphi, так и в среде MathCad, которые удовлетворяют условию поставленной задачи.
За время выполнения проекта изучили методы аппроксимации, и научились оценивать полученные результаты. Полученные графики и значения в обеих средах практически одинаковы, что свидетельствует о правильности выполнения курсовой работы. Была замечена закономерность, что при увеличении степени многочлена среднеквадратичное отклонение уменьшается, а, следовательно, возрастает точность вычислений.
Разработанные приложения соответствуют требованиям заданий на курсовую работу. Исходные тексты программ, а так же исполняемые файлы представлены на диске. В ходе выполнения курсовой работы получены как теоретические, так и практические навыки работы в среде разработки программ Delphi на алгоритмическом языке Object Pascal.
Также были углублены и закреплены знания по алгоритмизации, программированию и решению в интегрированной визуальной среде программирования Delphi задач по специальности.
Цель курсовой работы достигнута, задачи решены в полном требуемом объёме.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Архангельский, А. Я. Программирование в Delphi 6 / А.Я. Архангельский - М.: ЗАО "Издательство БИНОМ", 2002 г. - 1120 с.
Бобровский С. И. Delphi 7 : учебный курс / С.И.Бобровский. - СПб.: Питер, 2004. - 736 с. Епанешников, А. М. Программирование в среде Turbo Pascal 7.0 / А. М. Епанешников, В. А. Епанешников. - Москва: "Диалог - МИФИ", 2000г. - 368 с. Задания и методические указания по выполнению, оформлению и защите курсовых работ для студентов заочной и очной формы обучения специальностей 1-36 01 01, 1-36 01 03 / авт.-сост. О. И.Наранович. - Барановичи: БарГУ, 2009. - 20 с.
Фаронов, В. В. Delphi 6 : учебный курс / под ред. С. В. Молгачев, 2001. - 672 с.
Шейкер, Т. Д. Разработка приложений в системе Delphi : учеб. пособие / Т. Д. Шейкер. - Владивосток: Изд-во ДВГТУ, 2006. - 172 с. 5
Документ
Категория
Рефераты
Просмотров
138
Размер файла
508 Кб
Теги
upd, тело
1/--страниц
Пожаловаться на содержимое документа