Автор: Пользователь скрыл имя, 23 Февраля 2013 в 13:22, курсовая работа
Задачей данного курсового проекта является создание алгоритма вычисления корней нелинейного уравнения методом подекадного приближения (метод подобен методу поразрядного приближения, но уменьшение шага поиска корня фиксировано на значении 10) и программная реализация метода на языке MATLAB в среде MatLab.
Введение………………………………………………………….………………..3
Постановка задачи.………………………………………………………………..4
Анализ, формальная постановка и выбор метода решения…………………….5
Разработка алгоритмов решения задачи……………………………………….10
Пошаговая детализация…………………………………………………………11
Блок-схема………………………………………………………………………..13
Тексты и описание программных модулей…………………………………….14
Тестирование разработанных программных модулей…………………….…..16
Список литературы………………………………………………………………18
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное
образовательное учреждение
высшего профессионального образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА КОМПЬЮТЕРНОЙ МАТЕМАТИКИ И ПРОГРАММИРОВАНИЯ
КУРСОВАЯ РАБОТА
ЗАЩИЩЕНА С ОЦЕНКОЙ
РУКОВОДИТЕЛЬ
Доцент, к. т. н-к |
Ключарев А.А. | |||
должность, уч. степень, звание |
подпись, дата |
инициалы, фамилия |
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА | ||||||
Решение нелинейных уравнений методом подекадного приближения | ||||||
по дисциплине: ИНФОРМАТИКА | ||||||
РАБОТУ ВЫПОЛНИЛ | ||||||
СТУДЕНТ ГР. |
3126 |
Евгеньев В.В. | ||||
подпись, дата |
инициалы, фамилия |
Санкт-Петербург
2012
Содержание
Введение…………………………………………………………
Постановка задачи.……………………………………………………………
Анализ, формальная постановка и выбор метода решения…………………….5
Разработка алгоритмов решения задачи……………………………………….10
Пошаговая детализация…………………………………………………
Блок-схема……………………………………………………
Тексты и описание программных модулей…………………………………….14
Тестирование разработанных
программных модулей…………………….….
Список литературы…………………………………
Введение
Целью данного курсового проектирования является:
Краткий план
по пояснительной записке к
Постановка задачи
Задачей данного курсового проекта является создание алгоритма вычисления корней нелинейного уравнения методом подекадного приближения (метод подобен методу поразрядного приближения, но уменьшение шага поиска корня фиксировано на значении 10) и программная реализация метода на языке MATLAB в среде MatLab.
Анализ, формальная постановка и выбор метода решения
Решение нелинейных уравнений
с одним неизвестным является
одной из важных математических задач,
возникающих в различных
В общем случае нелинейное уравнение с одним неизвестным можно записать в виде:
, (2.1)
где – некоторая непрерывная функция аргумента x.
Всякое число , обращающее функцию в нуль, т.е. при котором , называется корнем уравнения (2.1). Если в точке наряду с функцией обращаются в ноль и ее производные до порядка включительно, то число называют корнем k-й кратности. Однократный корень также называют простым. В дальнейшем мы будем говорить именно о простых корнях.
В зависимости от вида функции нелинейные уравнения подразделяются на два класса – алгебраические и трансцендентные.
Уравнение (2.1) называется алгебраическим, если функция является алгебраической функцией. Алгебраическое уравнение всегда может быть представлено в канонической форме:
, (2.2)
где – коэффициенты уравнения. Показатель n называют степенью алгебраического уравнения.
Если функция содержит тригонометрические, показательные, логарифмические и другие функции, не являющиеся алгебраическими, то уравнение (2.1) называется трансцендентным. Примерами трансцендентных уравнений являются:
Методы решения нелинейных уравнений делятся на прямые (аналитические, точные) и итерационные. Прямые методы позволяют записать решение в виде некоторого соотношения (формулы). При этом значения корней могут быть вычислены по этой формуле за конечное число арифметических операций. Подобные методы развиты для решения тригонометрических, логарифмических, показательных, а также простейших алгебраических уравнений.
Однако подавляющее
При численном подходе задача о решении нелинейных уравнений разбивается на два этапа: локализация (отделение) корней, т.е. нахождение таких отрезков на оси x, в пределах которых содержится один единственный корень, и уточнение корней, т.е. вычисление приближенных значений корней с заданной точностью.
a |
b |
x |
y = f(x) |
f(a) |
f(b) |
Рис. 2.1. Отделение корней. Функция f(x) не монотонна на отрезке [a, b]. |
Локализация корней. Для отделения корней уравнения (2.1) необходимо иметь критерий, позволяющий убедится, что, во-первых, на рассматриваемом отрезке имеется корень, а, во-вторых, что этот корень единственный на указанном отрезке. Если функция непрерывна на отрезке , а на концах отрезка её значения имеют разные знаки , то на этом отрезке расположен, по крайней мере, один корень. Это условие (как видно из рисунка 2.1) не обеспечивает единственности корня. Достаточным дополнительным условием, обеспечивающем единственность корня на отрезке является требование монотонности функции на этом отрезке. В качестве признака монотонности функции можно воспользоваться условием знакопостоянства первой производной .
Таким образом, если на отрезке функция непрерывна и монотонна, а ее значения на концах отрезка имеют разные знаки, то на рассматриваемом отрезке существует один и только один корень. Заметим, что под этот критерий не подпадают кратные корни уравнений, например, очевидный корень уравнения .
Воспользовавшись этим критерием можно отделить корни аналитическим способом, находя интервалы монотонности функции.
Отделение корней можно выполнить графически, если удается построить график функции . В ряде случае бывает удобно заменить уравнение эквивалентным уравнением вида . Корни этого уравнения определяются абсциссами точек пересечения графиков функций и .
x |
1 |
y |
1 |
p |
e |
x* |
y = ln x |
y = sin 2x |
0 |
Рис. 2.2. Графическое отделение корней уравнения sin 2x – ln x = 0. |
A |
B |
x |
y = f(x) |
Рис. 2.3. Табличный способ локализации корней. |
h |
h |
В качестве примера рассмотрим уравнение . Переходя к эквивалентному уравнению построим графики функций и (рис. 2.2)
Из графика видно, что уравнение содержит один корень, расположенный в интервале .
Отделение корней можно также выполнить табличным способом. Допустим, что все интересующие нас корни уравнения (2.1) находятся на отрезке . Выбор этого отрезка (интервала поиска корней) может быть сделан, например, на основе анализа конкретной физической или иной задачи. Будем вычислять значения , начиная с точки , двигаясь вправо с некоторым шагом h (рис. 2.3). Как только обнаруживается пара соседних значений , имеющих разные знаки, так соответствующие значения аргумента x можно считать границами отрезка, содержащего корень.
Надежность рассмотренного подхода к отделению корней уравнений зависит как от характера функции , так и от выбранной величины шага h. Действительно, если при достаточно малом значении h ( ) на границах текущего отрезка функция принимает значения одного знака, то естественно ожидать, что уравнение корней на этом отрезке не имеет. Однако, это не всегда так: при несоблюдении условия монотонности функции на отрезке могут оказаться корни уравнения (рис. 2.4а). Также несколько корней на отрезке могут оказаться и при выполнении условия (рис. 2.4б).
x |
x + h |
x |
x |
Рис. 2.4. |
– |
– |
– |
+ |
x |
x + h |
а) |
б) |
Предвидя подобные ситуации, следует выбирать достаточно малые значения h.
Поскольку данный способ предполагает выполнение лишь элементарных арифметических и логических операций, количество которых может быть велико при малых значениях h, для его реализации целесообразно использовать вычислительные возможности компьютера.
Отделяя таким образом корни, мы, по сути, получаем их приближенные значения с точностью до выбранного шага. Так, например, если в качестве приближенного значения корня взять середину отрезка локализации, то абсолютная погрешность этого значения не будет превосходить половины шага поиска (h/2). Уменьшая шаг в окрестности каждого корня, можно, в принципе, повысить точность отделения корней до любого наперед заданного значения. Однако такой способ требует большого объема вычислений. Поэтому при проведении численных экспериментов с варьированием параметров задачи, когда приходится многократно осуществлять поиск корней, подобный метод не годится для уточнения корней и используется только для отделения (локализации) корней, т.е. определения начальных приближений к ним. Уточнение корней проводится с помощью других, более экономичных методов.