Автор работы: Пользователь скрыл имя, 24 Декабря 2013 в 23:56, курсовая работа
При решении задач математической физики (при исследовании колебаний стержней, пластин и оболочек, при изучении тепловых полей и т.д.) с использованием метода Фурье, возникает необходимость решения трансцендентных уравнений. Большинство задач инерции движения твердых тел сводятся к решению алгебраических уравнений n-ой степени.
Решение некоторых задач непосредственно сводятся к нахождению корней трансцендентных уравнений. Например, простейшая цепь (рис.1) состоит из источника έ, нелинейного элемента (диод, транзистор и т.д.) RH и резистора нагрузки с сопротивлением R. Необходимо найти ток в цепи IA и напряжение на нелинейном элементе UА.
3. Введение …………………………………………….…………………………. 3
4. Постановка задачи:
4.1. Обзор существующих методов …………………….……….……………. 4
4.2. Анализ метода касательных (метода секущих Ньютона) …………….…6
4.3. Решение нелинейного уравнения аналитически ………………..………..7
5.Описание алгоритма решения задачи:
5.1. Описание пользовательских идентификаторов ……………..…………...11
5.2. Блок-схема программы ………………………………………..…………...12
5.3. Описание блок-схем ………………………………………..………..…….15
6. Тестирование программы на контрольном примере ………………..…..........16
7. Сравнительный анализ данных ручного просчета и
машинных экспериментов ……………………………………………..……....18
8. Описание программного обеспечения:
8.1. Описание ОС …………………………………..…………………………...18
8.2. Описание среды программирования ……………..……………………….20
8.3. Описание программных модулей ………………..………………………..21
9. Вывод ……………………………………………………..……………………...22
10. Список литературы ……………………………
Расчеты и график функции, сделанные в Excel:
xn |
f(xn) |
f1(xn) |
f2(xn) |
Xn1 |
Xn1-xn |
корень(2*m1*Eps/M2) |
2 |
3 |
15 |
32 |
1,8 |
-0,2 |
0 |
1,8 |
0,5856 |
9,408 |
24,08 |
1,737755102 |
-0,062244898 |
|
1,737755 |
0,045167903 |
7,980242552 |
21,81098292 |
1,732095136 |
-0,005659966 |
|
1,732095 |
0,000348282 |
7,857364326 |
21,6092719 |
1,73205081 |
-4,43255E-05 |
|
1,732051 |
2,12279E-08 |
7,856406519 |
21,60769525 |
1,732050808 |
-2,70199E-09 |
|
1,732051 |
0 |
7,856406461 |
21,60769515 |
1,732050808 |
0 |
Как видно из расчетов таблицы, второй корень равен: -1,732051.
5.Описание алгоритма решения задачи
5.1.Описание пользовательских идентификаторов
a – константа, типа real (вещественный тип), размер: 8 байт, в 1 случае равная -2 , во 2 случае 1 ; обозначает край промежутка, на котором находится корень уравнения.
b – константа, типа real (вещественный тип), размер: 8 байт, в 1 случае равная -1 , во 2 случае 2 ; обозначает край промежутка, на котором находится корень уравнения.
Eps – константа, равная 0,0000000001, типа real (вещественный тип), размер 8 байт; обозначает погрешность.
m1 – константа, типа integer (целого типа), размер 4 байта, в 1 случае равная 0 и во 2 случае также равна 0. Обозначает минимальное значение (по модулю) производной значения точки (-1) в первом случае и точки (1) во втором случае.
M2 – константа, типа integer (целого типа), размер 4 байта, в 1 случае равная 56,во 2 случае равна 32. Обозначает максимальное значение (по модулю) производной значения точки (-2) в первом случае и точки (2) во втором случае.
x – переменная, вещественный тип, размер 8 байт, участвует в формулах по вычислению производной и функции.
xn – переменная, вещественный тип, размер 8 байт, участвует в формулах по присвоению и вычислению значений.
xn1 – переменная, вещественный тип, размер 8 байт, участвует в формулах по присвоению и вычислению значений.
f – локальная переменная, вещественного типа, размер 8 байт, это функция,которая вычисляется по формуле.
f1 – (также как и f) но явл.производной функции.
f2 - (также как f1) но в отличии от f1 является второй прозводной.
5.2.Блок-схема программы
Основная блок-схема:
Вспомогательные блок-схемы
Для f
Для f1-для нахождения приближений.
Для f2-для нахождения края, с которого начинаются итерации.
5.3.Описание блок-схем програм
Блок-схема №1
1. Блок начала программы.
2. Блок объявления констант.
3. Блок объявления переменных.
4. Проверка условия.
5. Присвоение переменной значения в случае выполнения условия.
6. Присвоение переменной значения в случае не выполнения условия.
7. Расчет начального приближенного значения.
8. Проверка следующего условия (начало цикла). В случае не выполнения, переходим к блоку 8. В случае выполнения, в цикл не заходим и сразу осуществляем переход к 10 блоку.
9. Расчет приближенного значения.
10. Вывод промежуточных результатов.
11. Вывод окончательных результатов.
12. Блок окончания программы.
Блок-схема №2
1. Блок начала программы.
2. Ввод аргумента
3. Расчет функции по формуле.
4. Вывод результата f(x)
5. Блок окончания программы.
Блок-схема №3
1. Блок начала программы.
2. Ввод аргумента
3. Расчет функции по формуле.
4. Вывод результата f1(x)
5. Блок окончания программы.
Блок-схема №4
1. Блок начала программы.
2. Ввод аргумента
3. Расчет функции по формуле.
4. Вывод результата f2(x)
5. Блок окончания программы.
6. Тестирование программы на контрольном примере
Программа была
тестирована на следующем
Результаты выполнения расчетов программой, написанной на языке программирования Turbo Pascal приведены ниже.
Правильность метода была проанализирована ручным расчетом.
Ot A=-2.0000 do B=-1.0000
Pogrewnost E 0.0000000001
xn= -1.7878787879 xn+1= -1.7351386122 f(xn+1)= 0.0615150328
xn= -1.7351386122 xn+1= -1.7320609420 f(xn+1)= 0.0002012359
xn= -1.7320609420 xn+1= -1.7320508077 f(xn+1)= 0.0000000022
xn= -1.7320508077 xn+1= -1.7320508076 f(xn+1)= 0.0000000000
xn= -1.7320508076 xn+1= -1.7320508076 f(xn+1)= 0.0000000000
Kon.znach
xn1= -1.7320508076f(xn1)= 0.0000000000
Vtoroy koren
Ot A= 1.0000 do B= 2.0000
Pogrewnost E 0.0000000001
xn= 1.8000000000 xn+1= 1.7377551020 f(xn+1)= 0.0451679035
xn= 1.7377551020 xn+1= 1.7320951358 f(xn+1)= 0.0003482818
xn= 1.7320951358 xn+1= 1.7320508103 f(xn+1)= 0.0000000212
xn= 1.7320508103 xn+1= 1.7320508076 f(xn+1)= 0.0000000000
xn= 1.7320508076 xn+1= 1.7320508076 f(xn+1)= 0.0000000000
Kon.znach
xn1= 1.7320508076f(xn1)= 0.0000000000
7.Сравнительный анализ данных ручного просчета и машинных экспериментов
Первый корень |
Второй корень | ||
Excel |
Pascal |
Excel |
Pascal |
-1,78788 |
-1.7878787879 |
1,8 |
1.8000000000 |
-1,73514 |
-1.7351386122 |
1,737755102 |
1.7377551020 |
-1,73206 |
-1.7320609420 |
1,732095136 |
1.7320951358 |
-1,73205 |
-1.7320508077 |
1,73205081 |
1.7320508103 |
-1,73205 |
-1.7320508076 |
1,732050808 |
1.7320508076 |
-1,73205 |
-1.7320508076 |
1,732050808 |
1.7320508076 |
Нижняя выделенная строка содержит окончательный ответ xn. Как видно из таблицы, численные значения приближений совпадают. Это говорит о правильности расчетов программы.
8.Описание програмного обеспечения
8.1.Описание ОС Windows
Windows – популярная графическая операционная система. Она очень проста и удобна в эксплуатации. С каждой новой версией этих программных продуктов расширяется диапазон задач, которые ПК могут решать в различных сферах информационно-вычислительной деятельности.
Windows обеспечивает вытесняющую многозадачность и многопоточность. Пользовательские программы могут выполнятся с разделением во времени в различных окнах. Каждая программа может содержать несколько информационных потоков, которые одновременно решают самостоятельные задачи.
Совместимость между интерфейсами различных прикладных программ достигается в Windows благодаря 32-разрядному интерфейсу API (Application Program Interface – интерфейс прикладных программ), предоставляющему программистам полный набор функций и ресурсов для создания средств интерфейса, с помощью которого приложения могут управлять файлами или отображением информации на экране дисплея.
Одной из важнейших возможностей Windows является поддержка технологии самонастраивающихся устройств Plug and Play. Их назначение – распознавание операционной системой любых периферийных устройств и управление ими.
Windows располагает встроенными возможностями для организации одноранговой локальной сети. Операционная система поддерживает все основные протоколы и стандарты, автоматически анализирует параметры локальной сети.
Архитектура Windows построена на системе представлений об управлении виртуальной машиной в защищенном режиме работы процессора. Черты Windows:
8.2.Описание среды
Алгоритмический язык Паскаль разработан профессором Цюрихского технологического института Никлаусом Виртом в 1969-71 гг для обучения студентов структурному программированию. Идеи, заложенные в основу создания языка, позволили фирме Borland International значительно расширить алгоритмические средства языка, а удобное меню команд и высокая скорость компиляции сделали язык Турбо Паскаль одним из самых распространенных среди начинающих программистов.
Процесс программирования начинается, как правило, с составления алгоритма – последовательности операций, описывающих процесс решения задачи. Программирование заключается в записи алгоритма на языке программирования и отладки программы. Текст программы записывается в текстовом редакторе, затем программа компилируется – переводится транслятором (переводчиком) в машинные коды и запускается на выполнение. Процесс отладки программы начинается с выявления:
1.Синтаксических ошибок в тексе;
2.Ошибок при выполнении
программы (недопустимые
3.Алгоритмических ошибок
(неверно составлении или
Для загрузки среды Турбо-Паскаль запускается файл turbo.exe, расположенный в папке BIN.
Положительные черты:
Недостатки:
8.3.Описание программных модулей
Файл носит название: metod_kasatelnuh;
расширение: pas;
размер: 1,5 байт;
устанавливается: запуском из среды Turbo Pascal;
запуск: 1) Run-Run;
2)Ctrl + F9;
3)После компиляции программы на Паскале (Run-Run)
создается выполняемый exe – файл. Его можно запустить в
Windows двоичным щелчком.
9.Вывод
В данной курсовой работе был выполнен анализ метода решения нелинейных уравнений – метод касательных (метод Ньютона), выполнен анализ еще нескольких методов решения подобных уравнений. Также разработан алгоритм решения уравнения методом Ньютона, на основании которого и была написана программа в среде Turbo Pasсal.
Информация о работе Наближене розв’язання нелінійного рівняння (метод дотичних)