Программирование и исследование алгоритмов решения неленейных уравнений. Метод секущихся (хорд) - Курсовая работа

бесплатно 0
4.5 178
Рассмотрение основ создания в IDE Lazarus приложения, которое будет находить решение нелинейного уравнения. Использование для расчетов метода секущихся (хорд). Выполнение решения в математическом пакете и сравнение результата с созданным приложением.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Актуальность: в связи с развитием новой вычислительной техники инженерная практика наших дней все чаще и чаще встречается с математическими задачами, точное решение которых получить весьма сложно или невозможно. Вот почему приближенные и численные методы математического анализа получили за последние годы широкое развитие и приобрели исключительно важное значение. Задача: создать в IDE Lazarus приложение, которое будет находить решение нелинейного уравнения 2ln2x 6lnx-5=0 на интервале [1;3].Идея метода хорд состоит в том, что можно, с известным приближением, допустить, что функция f(x) на достаточно малом участке [a,b] изменяется линейно, т.е. кривую y=f(x) на этом участке можно заменить хордой. Тогда начальное приближение корня x=c будет находиться в точке пересечения отрезка [a,b] хордой, проходящей через точки (a,f(a)) и (b,f(b)). Уравнение хорды записывается как уравнение прямой проходящей через точки с координатами: (a,f(a)) и (b,f(b)) имеет вид: (1)Рисунок 2 - Блок-схема методаВ пункте решение создадим подменю состоящее из: ввод данных, решение уравнения, иллюстрация. На форме "Главная" вводим информацию об авторе данной работы и, непосредственно, название темы, воспользовавшись объектом Label . Так же создадим две кнопки "ОК", при нажатии которой будет переход на форму "Решение уравнения", и кнопку "Закрыть" для закрытия формы "Ввод данных". На форме "Решение уравнения" создаем объект label "x=", объект edit для вывода ответа, три объекта Button "Решить", "Сохранить", "Закрыть". На форме "Иллюстрация" помещаем объект Chart, для представления иллюстрации метода хорд, объект Edit для ввода шага табуляции (h), объект Label (h), и два объекта Button "Иллюстрировать" и BITBTN "Закрыть".Так как функция F=2ln2(x) 6ln(x)-5 будет использоваться в нескольких формах, опишем ее глобально. В редакторе исходного кода в Unit 3 вводим текст программы для решения данного нелинейного уравнения. procedure TFORM3.Button2Click(Sender: TOBJECT); var a,b,c,e:real; В разделе var описываем переменные; begin a:=STRTOFLOAT(Form2.Edit1.Text); b:=STRTOFLOAT(Form2.Edit2.Text); e:=STRTOFLOAT(Form2.Edit3.Text); Присваиваем переменным a,b,e значения, введенные во второй форме в Edit1, Edit2,Edit3; repeat c:=a-((Form1.F(a))/(Form1.F(b)-Form1.F(a)))*(b-a); if Form1.F(c)=0 then break else begin if (Form1.F(c))*(Form1.F(a))<0 then b:=c else a:=c end; until abs(Form1.F(c))<e ; Начало цикла с постусловием. Условие выхода из цикла: F(c) по модулю будет больше достаточно малого числа е. edit1.text:=floattostr(c); end; Полученный ответ выводим в Edit1 на третьей форме.begin a:=STRTOFLOAT(Form2.Edit1.Text); b:=STRTOFLOAT(Form2.Edit2.Text); x:=a; H:=strtofloat(form4.edit1.text); chart1LINESERIES1.Clear; chart1LINESERIES2.Clear; chart1LINESERIES3.Clear; chart1LINESERIES4.Clear; Присваиваем переменным a и b значения, введенные во второй форме в Edit1 и Edit2. chart1lineseries2.addxy(a,Form1.F(a)); chart1lineseries2.addxy(b,Form1.F(b)); c:= a-((Form1.F(a))/(Form1.F(b)-Form1.F(a)))*(b-a); if (Form1.F(a))*(Form1.F(c))<0 then b:=c else a:=c; chart1lineseries3.addxy(a,Form1.F(a)); chart1lineseries3.addxy(b,Form1.F(b)); c:= a-((Form1.F(a))/(Form1.F(b)-Form1.F(a)))*(b-a); if (Form1.F(a))*(Form1.F(c))<0 then b:=c else a:=c; chart1lineseries4.addxy(a,Form1.F(a)); chart1lineseries4.addxy(b,Form1.F(b)); end; Построение первой хорды; Вычисление приближенного значения.На главном окне щелкаем по пункту меню "Ввод данных", открывается соответствующая форма. Затем, щелкнув на кнопку "ОК" мы переходим на следующую форму "Решение уравнения". В открывшейся форме нажимаем на кнопку "Решить", в окне появляется ответ. При нажатии на кнопку "Сохранить", данное решение будет сохранено в текстовом документе. Щелкаем по пункту меню "Иллюстрация", открывается нужное нам окно.При решение данного уравнения в математическом пакете Maxima получили следующий результат: Рисунок 13 - Решение в MaximaЗакрепили и углубили теоретические и практические навыки работы на компьютере, умения решать инженерные задачи в изучаемой среде программирования, реализовали численные методы решения нелинейных уравнений на языке программирования в соответствии с заданным вариантом.

План
Содержание

Введение

1. Теоретическая часть

1.1 Математическая модель метода

1.2 Блок-схема алгоритма метода

2. Практическая часть

2.1 Создание интерфейса приложения

2.2 Кодирование метода

2.3 Визуализация

2.4 Вычислительный эксперимент

2.5 Сравнение результатов

Заключение

Список литературы

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

Цель: реализация численных методов решения нелинейных уравнений на языке программирования в соответствии с заданным вариантом; графическая иллюстрация данного метода с последовательным уточнением корня; сравнение полученного результата с решением в математическом пакете.

Задача: создать в IDE Lazarus приложение, которое будет находить решение нелинейного уравнения 2ln2x 6lnx-5=0 на интервале [1;3]. Пользователь должен будет вводить исходный интервал и точность определения корня уравнения.

Для расчета использовать метод секущихся (хорд). Результат вычисления сохранить в текстовый файл. Иллюстрировать данный метод графически с последовательным уточнение корня.

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

Приложение должно содержать не менее трех окон, а также текстовое меню в главном окне, позволяющее выполнить основные действия.

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

Изучили метод хорд, и решили нелинейное уравнение 2ln2x 6lnx-5=0 с его помощью. Создали приложение в IDE Lazarus, которое находит решение данного нелинейного уравнения, сохраняет результат в текстовый документ, а также иллюстрирует метод решения с последовательным уточнением корня. Выполнили решение в математическом пакете Maxima и сравнили полученный результат с результатом работы созданного приложения.

Список литературы
1. Голицина О.Л., Партыка Т.Л., Попов И.И. Языки программирования. - М.: Инфра-М, 2008.

2. Макарова Н.В., Волков В.Б. Информатика. - М.: Питер, 2011.

3. Постовалов С.Н., Постовалова А.Ю. Уроки программирования. Москва, БХВ-Петербург, 2006.

4. Кашаев С.М. Учимся программировать на примерах. - Санкт-Петербург, БХВ-Петербург, 2010.

5. Степанов А. Информатика: базовый курс. - М.: Питер, 2010.

6. Филимонова Е.В. Практический самоучитель. - Санкт-Петербург, Феникс, 2007.

7. Острейковский В.А. Информатика. - М.: Высшая школа, 2007. - 512 с.

Размещено на

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?