Наближене розв’язання нелінійного рівняння (метод дотичних)

Автор работы: Пользователь скрыл имя, 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. Список литературы ……………………………

Файлы: 1 файл

Kursovaya_metod_kasatelnux.doc

— 221.50 Кб (Скачать файл)

 

Расчеты и график функции, сделанные в 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. Тестирование программы на контрольном примере

 

   Программа была  тестирована на следующем примере: x¹-x³-2x²+3x-3=0.

Результаты выполнения расчетов программой, написанной на языке  программирования 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:

  1. Мультизадачный  режим работы.
  2. Оптимальное управление ресурсами компьютера.
  3. Графический пользовательский интерфейс.
  4. Наличие техники связывания и встраивания объектов других программ.
  5. Возможность работы в сетевой среде.
  6. Интерфейс мультимедиа.

 

 

 

 

8.2.Описание среды программирования

 

Алгоритмический язык Паскаль разработан профессором Цюрихского технологического института Никлаусом Виртом в 1969-71 гг для обучения студентов структурному программированию. Идеи, заложенные в основу создания языка, позволили фирме Borland International значительно расширить алгоритмические средства языка, а удобное меню команд и высокая скорость компиляции сделали язык Турбо Паскаль одним из самых распространенных среди начинающих программистов.

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

1.Синтаксических ошибок  в тексе;

2.Ошибок при выполнении  программы (недопустимые математические  действия, операции с числами,  превосходящими определенные значения);

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

Для загрузки среды Турбо-Паскаль  запускается файл turbo.exe, расположенный в папке BIN.

Положительные черты:

 

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

 

Недостатки:

 

  • Работает под DOS.
  • Слабая преобразовываемость одних типов в другие.
  • Малое количество графических команд.
  • Невозможность работы с хорошим расширением.
  • Отсутствие функции возведения в степень.

 

8.3.Описание программных  модулей

 

Файл носит название: metod_kasatelnuh;

расширение: pas;

размер:  1,5  байт;

устанавливается: запуском из среды Turbo Pascal;

запуск: 1) Run-Run;

            2)Ctrl + F9;

            3)После компиляции программы на Паскале (Run-Run)

             создается выполняемый exe – файл. Его можно запустить в

             Windows двоичным щелчком.

9.Вывод

 

           В данной курсовой работе был выполнен анализ метода решения нелинейных уравнений – метод касательных (метод Ньютона), выполнен анализ еще нескольких методов решения подобных уравнений. Также разработан алгоритм решения уравнения методом Ньютона, на основании которого и была написана программа в среде Turbo Pasсal.

Информация о работе Наближене розв’язання нелінійного рівняння (метод дотичних)