Решение нелинейных уравнений методом итераций

 

Содержание


Введение

Глава I. Исследование метода итераций

.1 Нелинейные уравнения

.2 Метод итераций

.3 Геометрический смысл

.4 Решение нелинейного уравнения методом итераций

.5 Экономическое применение

Глава II. Разработка программы

.1 Автоматизация метода

Заключение

Список использованных источников и литературы

Приложения


Введение


Если законы функционирования модели нелинейны, а моделируемые процесс или система обладают одной степенью свободы (т.е. имеют одну независимую переменную), то такая модель, как правило, описывается одним нелинейным уравнением.

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

Методы решения квадратных уравнений были известны еще древним грекам. Решение уравнений третьей и четвертой степеней были получены усилиями итальянских математиков Ш. Ферро, Н. Тартальи, Дж. Картано, Л. Феррари в эпоху Возрождения. Затем наступила пора поиска формул для нахождения корней уравнений пятой и более высоких степеней. Настойчивые, но безрезультатные попытки продолжались около 300 лет и завершились благодаря работам норвежского математика Н. Абеля. Он доказал, что общее уравне6ие пятой и более высоких степеней неразрешимы в радикалах. Решение общего уравнения n-ой степени


a0xn+a1xn-1+…+an-1x+an=0, a0¹0


при n³5 нельзя выразить через коэффициенты с помощью действий сложения, вычитания, умножения, деления, возведения в степень и извлечения корня.

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

Предмет: метод итераций. Этот метод отличается от других тем, что по сравнению с другими методами, он является одним из наиболее простых методов определения корней нелинейных уравнений.

Объект: нелинейные уравнения.

Цели: исследовать метод итераций, автоматизировать его с применением в среде Pascal.

Достижение поставленных целей потребовало решение следующих задач:

·Изучить метод итераций;

·Исследовать его применение;

·Разработать вычислительный алгоритм метода итераций;

·Составить программы решения систем нелинейных уравнений методом итераций в среде Turbo Pascal.


Глава I. Исследование метода итераций


1.1 Нелинейные уравнения

итерация нелинейный уравнение алгоритм

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


f ( x ) = 0.


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

Алгебраическими уравнениями называются уравнения, содержащие только алгебраические функции (целые, рациональные, иррациональные). Алгебраическое уравнение в общем виде можно представить многочленом n-ой степени с действительными коэффициентами:


f (x) = а0xn + а1хn-1 +... + аn =0.


Например, х3 + х2 + 2х = 0.

Трансцендентными называются уравнения, содержащие другие функции (тригонометрические, показательные, логарифмические и т.д.), например: 2x-sin x = 0.

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

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

Таким образом, уравнение типа или называется нелинейным. Решить уравнение - это значит найти такое x, при котором уравнение превращается в тождество. В общем случае уравнение может иметь 0; 1; 2;...? корней. Рассмотрим нахождение корня нелинейного уравнения с помощью метода итераций на заданном интервале [a,b].


1.2 Метод итераций


Уравнение представим в виде: .

Далее на отрезке [a,b], где функция имеет корень, выбирается произвольная точка x0 и далее последовательно вычисляется:


(1)


Если на отрезке [a,b] выполнено условие |??(x)| ? q <1, то итерационный процесс сходится к корню уравнения .

Если необходимо вычислить корень с точностью ?, то процесс итераций продолжается до тех пор, пока для двух последовательных приближений xn и xn-1 не будет выполнено:

, при этом всегда выполняется , где ? задается погрешностью корня x*.

Если q ?0.5, то можно пользоваться соотношением .

Процесс определения интервала изоляции [a,b], содержащего только один из корней уравнения, называется отделением этого корня.

Процесс отделения корней проводят исходя из физического смысла прикладной задачи, графически, с помощью таблиц значений функции f(x) или при помощи специальной программы отделения корней. Процедура отделения корней основана на известном свойстве непрерывных функций: если функция непрерывна на замкнутом интервале [a,b] и на его концах имеет различные знаки, т.е. f(a)f(b)<0, то между точками a и b имеется хотя бы один корень уравнения f(x)=0. Если при этом знак функции f'(x) на отрезке [a,b] не меняется, то корень является единственным на этом отрезке.

Процесс определения корней алгебраических и трансцендентных уравнений состоит из 2 этапов:

·отделение корней, - т.е. определение интервалов изоляции [a,b], внутри которого лежит каждый корень уравнения;

·уточнение корней, - т.е. сужение интервала [a,b] до величины равной заданной степени точности ?.


1.3 Геометрический смысл


Будем предполагать, что функции ?(x) и j(x) являются непрерывными. На плоскости X0Y построим графики функции Y=x и Y=?(x). Каждый вещественный корень x* уравнения является абсциссой точки пересечения кривой Y= ?(x) с прямой Y=x. Начиная с некоторой точки A0(x0, ?(x0)), строим ломаные линии A0B1A1B2A2…(лестница), звенья которой попеременно параллельны оси 0X и оси 0Y, причем вершины A0,A1,A2… лежат на кривой Y=?(x). Общие абсциссы точек A1 и B1, A2 и B2 … представляют собой последовательные приближения x1, х2,…,хk,… корня x*, которые сходятся к нему монотонно и односторонне.


Рис. 1.


На рис. 1 представлен случай, когда 0<j(x)<1, т.е. угол касательной к графику функции Y=?(x) меньше 450, т.е. a < 450. Функция Y=?(x) является возрастающей и вогнутой. Если -1<j(x)<0, то ломаная A0B1A1B2A2… будет иметь вид спирали (рис.2). В этом случае сходимость является двусторонней, т.е. искомый корень всегда принадлежит отрезку [xk,xk+1]. Функция Y=?(x) является убывающей и вогнутой.


Рис. 2.


Если |j(x)|>1, т.е. угол наклона касательной к кривой ?(x) превышает 450, то в этом случае итерации сходиться не будут (рис.3).


Рис. 3.

Если же |j(x)|<1 в некоторой окрестности корня, а вдали от него это неравенство не выполняется, то итерационный процесс будет сходящимся только в том случае, если начальное приближение x0 выбрано достаточно близко к корню (рис. 4).


Рис. 4.


При произвольном выборе начального приближения сходимости может не быть (рис. 5).


Рис. 5.


1.4 Решение нелинейного уравнения методом итераций


Рассмотрим уравнение у = ln(x) - x + 1,8. Представим его в виде x = ln(x) + 1,8.

Проверим условие сходимости, найдя производную от функции f(x) и подставив в получившееся выражения концы отрезка [2,3].

f (x) = (ln(x) + 1,8) = 1/x;(x) = 1/2 = 0,5;

f (x) = 1/3 = 0,3333333;


Как видим, условие сходимости итерационного процесса выполняется, т.е. f (x) <1.

Из отрезка, на котором определен корень уравнения, выбираем произвольную точку xo = 2. Затем последовательно вычисляем x1, x2, xk, подставляя xo в формулу (1). Получим следующее:


x kF(x k+1 )22,4931471812,4931471812,713545842,713545842,7982562082,7982562082,828996442,828996442,8399220342,8399220342,8437765992,8437765992,8451329572,8451329572,84560982,84560982,8457773862,8457773862,8458362772,8458362772,845856972,845856972,8458642422,8458642422,8458667972,8458667972,8458676952,8458676952,8458680112,8458680112,8458681212,8458681212,845868162,845868162,8458681742,8458681742,8458681792,8458681792,845868181

По полученным данным построим график функции x = ln(x) + 1,8









Рис. 6. График функции


Далее сравниваем с точностью разность между значениями F(x k+1 ) и F(x k ) функции до тех пор, пока разность не будет меньше точности. При выполнении условия выводим корень уравнения F(x k+1 ).

Другие примеры в приложении 3.


1.5 Экономическое применение


Функции находят широкое применение в экономической теории и практике. Спектр используемых функций весьма широк: от простейших линейных до функций, получаемых по определенному алгоритму с помощью рекуррентных соотношений, связывающих состояния изучаемых объектов в разные периоды времени.

Производство не может создавать продукцию из ничего. Процесс производства связан с потреблением различных ресурсов. В число ресурсов входит все то, что необходимо для производственной деятельности, - и сырье, и энергия, и труд, и оборудование, и пространство. Для того чтобы описать поведение фирмы, необходимо знать, какое количество продукта она может произвести, используя ресурсы в тех или иных объемах. Мы будет исходить из допущения, что фирма производит однородный продукт, количество которого измеряется в натуральных единицах - тоннах, штуках, метрах и т. д. Зависимость количества продукта, которое может произвести фирма, от объемов затрат ресурсов получила название производственной функции.

Рассмотрение понятия «производственная функция» начнем с наиболее простого случая, когда производство обусловлено только одним фактором. В этом случае производственная функция - это функция, независимая переменная которой принимает значения используемого ресурса (фактора производства), а зависимая переменная - значения объемов выпускаемой продукции y=f(x).

В этой формуле y есть функция одной переменной x. В связи с этим производственная функция называется одноресурсной или однофакторной. Ее область определения - множество неотрицательных действительных чисел. Символ f является характеристикой производственной системы, преобразующей ресурс в выпуск.

Производственная функция нескольких переменных - это функция, независимые переменные которой принимают значения объемов затрачиваемых или используемых ресурсов (число переменных n равно числу ресурсов), а значение функции имеет смысл величин объемов выпуска:


y=f(x)=f(x1,…,хn).


В формуле у (у0) - скалярная, а х - векторная величина, x1,…,хn -координаты вектора х, то есть f(x1,…,хn) есть числовая функция нескольких переменных x1,…,хn. В связи с этим ПФ f(x1,…,хn) называют многоресурсной или многофакторной. Более правильной является такая символика f(x1,…,хn,а), где а - вектор параметров производственной функции.

Пример. Для моделирования отдельного региона или страны в целом (то есть для решения задач на макроэкономическом, а также на микроэкономическом уровне) часто используется производственная функция вида y= , где а0, а1, а2 - параметры производственной функции. Это положительные постоянные (часто а1 и а2 таковы, что а1+а2=1). производственная функция только что приведенного вида называется производственной функцией Кобба-Дугласа по имени двух американских экономистов, предложивших ее использовать в 1929 г.

Производственная функция Кобба-Дугласа активно применяется для решения разнообразных теоретических и прикладных задач благодаря своей структурной простоте. Производственная функция Кобба-Дугласа принадлежит к классу, так называемых, мультипликативных производственных функции. В приложениях х1=К равно объему используемого основного капитала (объему используемых основных фондов - в отечественной терминологии), - затратам живого труда, тогда Производственная функция Кобба-Дугласа приобретает вид, часто используемый в литературе:


Y=.


Глава II. Разработка программы


2.1 Автоматизация метода


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

заголовок программы;

раздел объявления переменных;

раздел объявления процедур и функций;

тело программы.

Заголовок программы состоит из зарезервированного слова PROGRAM и имени программы: PROGRAM MetodIteraccii;

Раздел объявления переменных начинается служебным словом VAR: VAR


x0, x1, e, a, b: real;, k:integer;


где:

x0 и x1 - результативные переменные;

e - точность вычислений;

a и b - коэффициенты заданной функции;

k - номер заданной функции.

Объявление функции состоит из:

ключевого слова FUNCTION, имени функции, списка формальных параметров и типа возвращаемого значения:

раздела объявления локальных переменных или констант, если он требуется;

тела функции, заключенного в операторные скобки BEGIN END.

В функции помещаются формулы, по которым будут вычисляться приближенное значение. В своей программе я использовала формулы, содержащие стандартные функции: ln(x), cos(x) и sin(x):


function f(x:real; a, b:real):real;:=a*ln(x)+b;;c(x:real; a, b:real):real;:=a*cos(x)+b;;s(x:real; a, b:real):real;:=a*sin(x)+b;;


Тело программы начинается словом BEGIN и содержит различные команды:

Write (Writeln) - команда вывода текста на экран;

Read (Readln) - запрос данных;

If … then - краткая форма условного оператора;

Repeat … until - оператор цикла с постусловием;

Abs(x) - абсолютная величина (модуль).

Итак, определяем заданную функцию, приближенное значение X и точность вычисления:


BEGIN('1) x=a*ln(x)+b 2) x=a*cos(x)+b 3) x=a*sin(x)+b

Выберете функцию: ');

Readln (k);

Write ('Введите a=');(a);('Введите b=');(b);rite ('Введите приближённое значение X=');(x1);('Введите точность e=');

Readln (e);


Для подсчета количества проведенных итераций требуется обнулить переменную i, которая заданы в разделе переменных, и организовать цикл, который будет проводить итерации и обеспечивать их подсчет:


i:=0;:=i+1;:=x1;k=1 then x1:=f(x0, a, b);k=2 then x1:=c(x0, a, b);k=3 then x1:=s(x0, a, b);(abs(x1-x0)<=e);


Вывод результатов на экран:

Writeln ('Решение уравнения: ');('Вычисленное значение корня...', x1:6:5);

Writeln ('Число итераций.............. ', i);

Readln;


Конец программы фиксируется служебным словом END, после которого обязательно ставится точка:

END.


Заключение


Проблема повышения качества вычислений, как несоответствие между желаемым и действительным, существует и будет существовать в дальнейшем. Ее решению будет содействовать развитие информационных технологий, которое заключается как в совершенствовании методов организации информационных процессов, так и их реализации с помощью конкретных инструментов - сред и языков программирования.

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

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


Список использованных источников и литературы


.Бахвалов Н. С., Численные методы. 4-е изд. - М.: БИНОМ. Лаборатория знаний, 2006. - 636 с.: ил.

.Вержбицкий В.М., Численные методы (математический анализ и обыкновенные дифференциальные уравнения): Учеб. пособие для вузов. - М.: Высш. шк., 2001. - 382 с.:ил.

.Волков Е. А., Численные методы: Учебное пособие. 4-е изд., стер. - СПб.: Издательство «Лань», 2007. - 256 с.: ил. - (Учебники для вузов. Специальная литература).

4.Калиткин, Н.Н. Численные методы. [Электронный ресурс] / Н.Н. Калиткин. - М.: Питер, 2001. С. 504.

5.Копченова Н. В., Марон И. А., Вычислительная математика в примерах и задачах: учебное пособие. 2-е изд., стер. - СПб.: Издательство «Лань», 2008. - 368 с. - (Учебники для вузов. Специальная литература).

.Лапчик, М.П. Численные методы: Учеб. пособие для студ. вузов / М.П.Лапчик, М.И.Рагулина, Е.К.Хеннер; Под ред. М.П.Лапчика. - 2-е изд., стер. - М.: Издательский центр «Академия», 2005. - 384 с.


Приложения


Приложение 1


Кодовая часть.

PROGRAM MetodIteraccii;

VAR, x1, e, a, b:real;, k:integer;f(x:real; a, b:real):real;:=a*ln(x)+b;;c(x:real; a, b:real):real;:=a*cos(x)+b;;s(x:real; a, b:real):real;:=a*sin(x)+b;;('1) x=a*ln(x)+b 2) x=a*cos(x)+b 3) x=a*sin(x)+b Выберете функцию: ');(k);('Введите a=');(a);('Введите b='); (b);('Введите приближённое значение X=');(x1);('Введите точность e=');

Readln (e);:=0;:=i+1;:=x1;k=1 then x1:=f(x0, a, b);k=2 then x1:=c(x0, a, b);k=3 then x1:=s(x0, a, b);(abs(x1-x0)<=e);

Writeln ('Решение уравнения: ');('Вычисленное значение корня...', x1:6:5);('Число итераций.............. ', i);

Readln;

END.


Приложение 2


Блок-схема метода итераций.


Начало



x n, E



xn+1 = ln (xn) + 1,8




f (x)| < 1 +



Не удовлетворяет-

условию сходимости |xn+1 - xn| ? E x n:= xn+1



+


x n+1 Конец


Приложение 3


Примеры

1)y = cos(x) - x + 5


x kF(x k+1 )-34,0100075034,0100075034,3539626874,3539626874,649199034,649199034,9368520934,9368520935,2225829765,2225829765,4883465465,4883465465,700399865,700399865,8349329155,8349329155,9012058765,9012058765,9279286055,9279286055,9375572315,9375572315,9408628545,9408628545,9419776155,9419776155,942351229

)y = 0.7 sin(x) -x + 2.7


x kF(x k+1 )13,2890296893,2890296892,5971675782,5971675783,062548463,062548462,7552733362,7552733362,9637470862,9637470862,8238366752,8238366752,9187049662,9187049662,8547327572,8547327572,8980592852,8980592852,8687932622,8687932622,8885998522,8885998522,8752118262,8752118262,8842691512,8842691512,8781451662,8781451662,8822874452,8822874452,8794863362,8794863362,8813808532,8813808532,8800996592,8800996592,880966156


Содержание Введение Глава I. Исследование метода итераций .1 Нелинейные уравнения .2 Метод итераций .3 Геометрический смысл .4 Решение нел

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2019 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ