![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
Нахождение корней уравнения методом простой итерации (ЛИСП-реализация) |
СОДЕРЖАНИЕ Введение 1. Постановка задачи 2. Математические и алгоритмические основы решения задачи 2.1 Описание метода 2.2 Геометрическая интерпретация 3. Функциональные модели и блок-схемы решения задачи 4. Программная реализация решения задачи 5. Пример выполнения программы Заключение Список использованных источников и литературы ВВЕДЕНИЕ Методы решения линейных и квадратных уравнений были известны еще древним грекам. Решение уравнений третьей и четвертой степеней были получены усилиями итальянских математиков Ш. Ферро, Н. Тартальи, Дж. Картано, Л. Феррари в эпоху Возрождения. Затем наступила пора поиска формул для нахождения корней уравнений пятой и более высоких степеней. Настойчивые, но безрезультатные попытки продолжались около 300 лет и завершились благодаря работам норвежского математика Н. Абеля. Он доказал, что общее уравне6ие пятой и более высоких степеней неразрешимы в радикалах. Решение общего уравнения -ой степени a0x a1x -1 a -1x a =0, a0№0 при і5 нельзя выразить через коэффициенты с помощью действий сложения, вычитания, умножения, деления, возведения в степень и извлечения корня. Для неалгебраических уравнений типа х–cos(x)=0 задача еще более усложняется. В этом случае найти для корней явные выражения, за редким случаем не удается. В условиях, когда формулы &quo ;не работают&quo ;, когда рассчитывать на них можно только в самых простейших случаях, особое значение приобретают универсальные вычислительные алгоритмы. Известен целый ряд алгоритмов, позволяющих решить рассматриваемую задачу. Если записать уравнение в виде f(x) =0, то для применения этих алгоритмов нет необходимости накладывать какие-либо ограничения на функцию f(x), а предполагается только что она обладает некоторыми свойствами типа непрерывности, дифференцируемости и т.д. Это итерационный численный метод нахождения корня (нуля) заданной функции. Целью данной курсовой работы является Лисп – реализация нахождения корней уравнения методом простой итерации. 1. Постановка задачи Дано уравнение: . Требуется решить это уравнение, точнее, найти один из его корней (предполагается, что корень существует). Предполагается, что F(X) непрерывна на отрезке . Входным параметром алгоритма, кроме функции F(X), является также начальное приближение - некоторое X0, от которого алгоритм начинает идти. Пример. Найдем корень уравнения . Рисунок 1. Функция Будем искать простой корень уравнения, находящийся на отрезке локализации . Приведем уравнение к виду x=(x), где .Проверим условие сходимости: . Рисунок 2. График производнойМаксимальное по модулю значение производной итерационной функции достигается в левом конце отрезка . .Выполним 3 итерации по расчетной формуле x= (x), 1 итерация . 2 итерация . 3 итерация . 2. Математические и алгоритмические основы решения задачи 2.1 Описание метода простых итераций Рассмотрим уравнение f(x)=0(2.1) с отделенным корнем X. Для решения уравнения (2.1) методом простой итерации приведем его к равносильному виду: x=φ(x). (2.2) Это всегда можно сделать, причем многими способами. Например: x=g(x) · f(x) x ≡ φ(x), где g(x) - произвольная непрерывная функция, не имеющая корней на отрезке .
Пусть x(0) - полученное каким-либо способом приближение к корню x (в простейшем случае x(0)=(a b)/2). Метод простой итерации заключается в последовательном вычислении членов итерационной последовательности: x(k 1)=φ(x(k)), k=0, 1, 2, .(2.3) начиная с приближения x(0). УТВЕРЖДЕНИЕ: 1 Если последовательность {x(k)} метода простой итерации сходится и функция φ непрерывна, то предел последовательности является корнем уравнения x=φ(x) ДОКАЗАТЕЛЬСТВО: Пусть .(2.4) Перейдем к пределу в равенстве x(k 1)=φ(x(k)) Получим с одной стороны по (2.4), что а с другой стороны в силу непрерывности функции φ и (2.4) . В результате получаем x =φ(x ). Следовательно, x - корень уравнения (2.2), т.е. X=x . Чтобы пользоваться этим утверждением нужна сходимость последовательности {x(k)}. Достаточное условие сходимости дает: ТЕОРЕМА 2.1: (о сходимости) Пусть уравнение x=φ(x) имеет единственный корень на отрезке ; 2) φ(x) ; 3) существует константа q &g ; 0: φ '(x) ≤ q &l ; 1 x . огда итерационная последовательность {x(k)}, заданная формулой x(k 1) = φ(x(k)), k=0, 1, . сходится при любом начальном приближении x(0) . ДОКАЗАТЕЛЬСТВО: Рассмотрим два соседних члена последовательности {x(k)}: x(k) = φ(x(k-1)) и x(k 1) = φ(x(k)) ак как по условию 2) x(k) и x(k 1) лежат внутри отрезка , то используя теорему Лагранжа о средних значениях получаем: x (k 1) - x (k) = φ(x (k)) - φ(x (k-1)) = φ '(c k )(x (k) - x (k-1)), где c k (x (k-1), x (k)). Отсюда получаем: x (k 1) - x (k) = φ '(c k ) · x (k) - x (k-1) ≤ q x (k) - x (k-1) ≤ ≤ q ( q x (k-1) - x (k-2) ) = q 2 x (k-1) - x (k-2) ≤ . ≤ q k x (1) - x (0) .(2.5) Рассмотрим ряд S&i fi ; = x (0) ( x (1) - x (0) ) . ( x (k 1) - x (k) ) . .(2.6) Если мы докажем, что этот ряд сходится, то значит сходится и последовательность его частичных сумм Sk = x (0) ( x (1) - x (0) ) . ( x (k) - x (k-1) ). Но нетрудно вычислить, что Sk = x (k)).(2.7) Следовательно, мы тем самым докажем и сходимость итерационной последовательности {x(k)}. Для доказательства сходимости pяда (2.6) сравним его почленно (без первого слагаемого x(0)) с рядом q 0 x (1) - x (0) q 1 x (1) - x (0) . x (1) - x (0) .,(2.8) который сходится как бесконечно убывающая геометрическая прогрессия (так как по условию q &l ; 1). В силу неравенства (2.5) абсолютные величины ряда (2.6) не превосходят соответствующих членов сходящегося ряда (2.8) (то есть ряд (2.8) мажорирует ряд (2.6). Следовательно ряд (2.6) также сходится. ем самым сходится последовательность {x(0)}. Получим формулу, дающую способ оценки погрешности X - x (k 1) метода простой итерации. Имеем X - x(k 1) = X - Sk 1 = S&i fi ; - Sk 1 = (x(k 2) - (k 1) ) (x(k 3) - x(k 2) ) . . Следовательно X - x(k 1) ≤ x(k 2) - (k 1) x(k 3) - x(k 2) . ≤ qk 1 x(1) - x(0) qk 2 x(1) - x(0) . = qk 1 x(1) - x(0) / (1-q). В результате получаем формулу X - x(k 1) ≤ qk 1 x(1) - x(0) / (1-q).(2.9) Взяв за x(0) значение x(k), за x(1) - значение x(k 1) (так как при выполнении условий теоремы такой выбор возможен) и учитывая, что при имеет место неравенство qk 1 ≤ q выводим: X - x(k 1) ≤ qk 1 x(k 1) - x(k) / (1-q) ≤ q x(k 1) - x(k) / (1-q).
Итак, окончательно получаем: X - x(k 1) ≤ q x(k 1) - x(k) / (1-q).(2.10) Используем эту формулу для вывода критерия окончания итерационной последовательности. Пусть уравнение x=φ(x) решается методом простой итерации, причем ответ должен быть найден с точностью &epsilo ;, то есть X - x(k 1) ≤ &epsilo ;. С учетом (2.10) получаем, что точность &epsilo ; будет достигнута, если выполнено неравенство x(k 1)-x(k) ≤ (1-q)/q.(2.11) Таким образом, для нахождения корней уравнения x=φ(x) методом простой итерации с точностью нужно продолжать итерации до тех пор, пока модуль разности между последними соседними приближениями остается больше числа &epsilo ;(1-q)/q. ЗАМЕЧАНИЕ 2.2: В качестве константы q обычно берут оценку сверху для величины . 2.2 Геометрическая интерпретация Рассмотрим график функции . Это означает, что решение уравнения и - это точка пересечения с прямой : Рисунок 3. И следующая итерация - это координата x пересечения горизонтальной прямой точки с прямой . Рисунок 4. Из рисунка наглядно видно требование сходимости . Чем ближе производная к 0, тем быстрее сходится алгоритм. В зависимости от знака производной вблизи решения приближения могут строится по разному. Если , то каждое следующее приближение строится с другой стороны от корня: Рисунок 5. 3. Функциональные модели и блок-схемы решения задачиФункциональные модели и блок-схемы решения задачи представлены на рисунке 6, 7. Используемые обозначения: F , F – уравнение для поиска корня; X, S AR – начальное значение; E, PRECISIO – точность вычисления; , COU I ER –количество итераций. Рисунок 6 – Функциональная модель решения задачи для функции SIMPLE I ER Рисунок 7 – Функциональная модель решения задачи для поиска корня уравнения методом простой итерации 4. Программная реализация решения задачи Файл SIMPLE I ER. x ;ФУНКЦИЯ, РЕАЛИЗУЮЩАЯ МЕТОД ПРОСТЫХ ИТЕРАЦИЙ (DEFU SIMPLE I ER ( E X F ) (CO D ((A D (&l ;= 0) (&g ; (ABS (- (FU CALL F X) X)) ( E (FU CALL F X)))) X) ( (SIMPLE I ER (- 1) E (FU CALL F X) F )) ) ) ;ПОДГРУЖАЕМ УРАВНЕНИЕ (LOAD &quo ;D: FU C IO . X &quo ;) ;РАССЧИТЫВАЕМ НАЧАЛЬНОЕ ПРИБЛИЖЕНИЕ К КОРНЮ (SE Q S AR (/ (- (CADR I ERVAL) (CAR I ERVAL)) 2)) ;ВЫЧИСЛЯЕМ КОРЕНЬ (SE Q ROO (SIMPLE I ER COU I ER PRECISIO S AR (FU C IO F))) ;ОТКРЫВЕМ ФАЙЛ ДЛЯ ЗАПИСИ (SE Q OU PU S REAM (OPE &quo ;D: ROO . X &quo ; :DIREC IO :OU PU )) ;ПЕЧАТАЕМ В ФАЙЛ КОРЕНЬ (PRI 'ROO OU PU S REAM) (PRI ROO OU PU S REAM) ;ЗАКРЫВАЕМ ФАЙЛ ( ERPRI OU PU S REAM) (CLOSE OU PU S REAM) Файл FU C IO . x (пример 1) ;ФУНКЦИЯ (DEFU F (X) (/ ( (- ( X X) ( 5 (COS X))) 3.25) 3) ) ;КОЛИЧЕСТВО ИТЕРАЦИЙ (SE Q COU I ER 100) ;ПРОМЕЖУТОК, НА КОТОРОМ ИЩЕМ КОРЕНЬ (SE Q I ERVAL '(-0.4 0)) ;ТОЧНОСТЬ ВЫЧИСЛЕНИЯ (SE Q PRECISIO 0.0001) Файл FU C IO . x (пример 2) ;ФУНКЦИЯ (DEFU F (X) (- ( X X) (COS X)) ) ;КОЛИЧЕСТВО ИТЕРАЦИЙ (SE Q COU I ER 60) ;ПРОМЕЖУТОК, НА КОТОРОМ ИЩЕМ КОРЕНЬ (SE Q I ERVAL '(1 1.5)) ;ТОЧНОСТЬ ВЫЧИСЛЕНИЯ (SE Q PRECISIO 0.0001) 5. Пример выполнения программы Пример 1. Рисунок 8 – Входные данные Рисунок 9 – Выходные данныеПример 2. Рисунок 10 – Входные данные Рисунок 11– Выходные данные ЗАКЛЮЧЕНИЕ Проблема повышения качества вычислений, как несоответствие между желаемым и действительным, существует и будет существовать в дальнейшем.
В Англии первый трактат об А. принадлежит Роберту Рекорд, преподавателю математики и медицины в Кембридже. Его сочинение об А. называется "The Whetstone of Wit". Здесь впервые вводится знак равенства (=). Во Франции в 1558 году появилось первое сочинение об А., принадлежащее Пелетариусу; в Голландии Стевин в 1585 г. не только изложил исследования, известные уже до него, но и ввел некоторые усовершенствования в А. Громадные успехи сделала А. после сочинений Виета, который первый рассматривал уравнения всех степеней и показал способы для приблизительного нахождения корней каких бы то ни было алгебраических уравнений. Он же первый означал величины, входящие в уравнения буквами, и тем придал А. ту общность, которая составляет характеристическую особенность алгебраических исследований нового времени. Он же подошел весьма близко к открытию формулы бинома, найденной впоследствии Ньютоном, и, наконец, в его сочинениях можно даже встретить разложение отношения стороны квадрата вписанного в круг к дуге круга, выраженное в виде бесконечного произведения
1. Нахождение корней уравнения методом Ньютона (ЛИСП-реализация)
2. Методы нахождения корней полиномов
3. Разработка программного обеспечения для нахождения корней биквадратного уравнения
5. Численное решение системы линейных алгебраических уравнений методом Гаусса
9. Вычисление интеграла методом Ньютона-Котеса (теория и программа на Паскале)
10. Метод касательных. Решения нелинейных уравнений. Паскаль 7.0
11. Метод простых итераций с попеременно чередующимся шагом
13. Изучение миксомицетов среднего Урала, выращенных методом влажных камер
14. Методы исследования в цитологии
15. МЕТОДЫ ИЗУЧЕНИЯ ЭВОЛЮЦИИ ЧЕЛОВЕКА
16. Методологическое значение сравнительного метода в зоологических исследованиях
17. Метод радиоавтографии в биологии
18. Виды стихийных бедствий и методы борьбы с ними
19. Статистика населения. Методы анализа динамики и численности и структуры населения
20. Гамма – каротаж. Физические основы метода
25. Методы осуществления государственной власти
26. Метод гражданско правового регулирования
27. Формы и методы государственного регулирования экономики в Казахстане
28. Математические методы и модели в конституционно-правовом исследовании
29. Методы комплексной оценки хозяйственно-финансовой деятельности
30. Цикл-метод обучения. (Методика преподавания эстонского языка)
31. Эффективные методы изучения иностранных языков
32. Специфика преподавания иностранного языка и метод проектов
34. Соцреализм как метод искусства
35. Коренное население Кемеровской области. Шорцы
36. Дидактические возможности отдельных методов обучения на уроках литературы в старших классах
37. Корни персонажей Д.Р.Р.Толкиена
41. Решение транспортной задачи методом потенциалов
42. Методичка по Internet Explore
44. Разработка методов определения эффективности торговых интернет систем
45. Метод Дэвидона-Флетчера-Пауэлла
46. Защита информации от несанкционированного доступа методом криптопреобразования /ГОСТ/
47. Обучение начальных курсов методам программирования на языке Turbo Pascal
48. Применение методов линейного программирования в военном деле. Симплекс-метод
49. Вычисление площади сложной фигуры методом имитационного моделирования (Windows)
50. Математические методы и языки программирования: симплекс метод
51. Лекции по высокоуровневым методам информатики и программированию
52. Вычисление определённого интеграла с помощью метода трапеций на компьютере
53. Язык программирования Паскаль и ветвление
57. Модули и объекты в языке Турбо Паскаль 7.0
58. Программирование на языке Турбо Паскаль
62. Первообразная. Три правила нахождения первообразных
63. Алгебраические тождества. Арифметический корень. Степени. Логарифмы (Шпаргалка)
64. Решение задач - методы спуска
65. Решение смешанной задачи для уравнения гиперболического типа методом сеток
66. Решение систем дифференциальных уравнений методом Рунге-Куты 4 порядка
67. Решение систем линейных алгебраических уравнений методом Гаусса и Зейделя
69. Вычисление определенного интеграла методами трапеций и средних прямоугольников
73. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ПЯТИТОЧЕЧНЫМ МЕТОДОМ АДАМСА – БАШФОРТА
74. Метод последовательных уступок (Теория принятия решений)
75. Построение графика функции различными методами (самостоятельная работа учащихся)
76. Краткая методичка по логике
77. Методы решения систем линейных неравенств
78. Вычисление двойных интегралов методом ячеек
79. Методы обучения математике в 10 -11 класах
80. Решение задач линейной оптимизации симплекс – методом
81. Приближённые методы решения алгебраического уравнения
82. Решение дифференциальных уравнений 1 порядка методом Эйлера
83. Методы расчета электрических полей
84. Вычисление корней нелинейного уравнения
85. Итерационные методы решения систем линейных уравнений с неединственными коэффициентами
89. Карл Леонгард: методы диагностики личности
91. МЕТОДЫ НАРОДНОЙ МЕДИЦИНЫ. ЗАКАЛИВАНИЕ ОРГАНИЗМА
92. Основные методы обследования больного
93. Детский травматизм и методы самостоятельной помощи
94. Современные методы электрокардиостимуляции
95. Современные методы лечения псориаза у детей
96. ДЭНС-ТЕРАПИЯ как новый и современный метод лечения в медицине
97. Русская здрава (методы оздоровления на Руси)