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

Автор работы: Пользователь скрыл имя, 19 Декабря 2011 в 13:05, курсовая работа

Краткое описание

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

Содержание

ВВЕДЕНИЕ 3
1.Теоретический обзор 4
1.1 Определение, виды решения нелинейного уравнения 4
1.2 Метод простых итераций 4
2.Реализация алгоритма 7
3.Разработка интерфейса 8
4.Результаты 11
ЗАКЛЮЧЕНИЕ 12
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 13
ПРИЛОЖЕНИЯ А 14

Вложенные файлы: 1 файл

Kursovaya.doc

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ                                                                                                                  3                                                     

1.Теоретический  обзор                                                                                                4

1.1 Определение,  виды решения нелинейного уравнения                                       4

1.2 Метод простых  итераций                                                                                      4

2.Реализация  алгоритма                                                                                              7

3.Разработка  интерфейса                                                                                            8

4.Результаты                                                                                                               11

ЗАКЛЮЧЕНИЕ                                                                                                          12    

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ                                                       13                  

ПРИЛОЖЕНИЯ  А                                                                              14 
ВВЕДЕНИЕ
 

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

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

     Цель  работы: решить нелинейное уравнение  методом простой итерации и реализовать  данный метод в среде программирования Delphi.

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

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

   Объект  исследования – процесс решения нелинейных уравнений методом простой итерации.

   Предмет исследования – вычислительный алгоритм метода простой итерации в Delphi.

   Методы  исследования:

  • теоретический анализ материала по вычислительным методам и компьютерному моделированию;
  • система программирования Delphi;
 

 

      1.Теоретический обзор. 

     1.1 Определение, виды решения нелинейного  уравнения 

Под нелинейными уравнениями понимаются  алгебраические и трансцендентные уравнения вида:F(X)=0 , где х- действительное число, F(X)- нелинейная функция

     Решить  уравнение это значит найти такое x, при котором уравнение превращается в тождество. В общем случае уравнение  может иметь 0; 1; 2;...∞ корней. Существует много методов решения нелинейных уравнений:

1.Метод  перебора.

2.Метод  половинного деления. 

3.Метод  хорд.

4.Метод  касательных.

5.Метод  хорд-касательных. 

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

     1.2 Метод простых итераций 

     Рассмотрим  подробнее метод простых итераций:

 При решении нелинейного уравнения методом итераций воспользуемся записью уравнения в виде      

x=f(x).                                                                       (1)

     Задаются  начальное значение аргумента x0 и точность ε. Первое приближение решения x1 находим из выражения x1=f(x0), второе - x2=f(x1) и т.д. В общем случае i+1 приближение найдем по формуле :

     xi+1 =f(xi).                                                                (2)

     Указанную процедуру повторяем пока |f(xi)|>ε. Условие сходимости метода итераций |f'(x)|<1.

Пока |f(xi)|> ε

xi+1 =f(xi)                                                                                                       (3)

Для применения метода простой итерации следует исходное уравнение   преобразовать к виду, удобному для итерации  . Это преобразование можно выполнить различными способами. Функция   называется итерационной функцией. Расчетная формула метода простой итерации имеет вид: 

.                                                                                                             (4) 

Теорема о сходимости метода простой итерации.

Пусть в некоторой  - окрестности корня  функция   дифференцируема и удовлетворяет неравенству  , где   - постоянная . Тогда

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

сходится со скоростью геометрической последовательности и справедлива оценка погрешности: ,  .                                       (5)                                  

Критерий  окончания итерационного процесса. При заданной точности  >0 вычисления следует вести до тех пор пока не окажется выполненным неравенство  . Если величина  , то можно

использовать  более простой критерий окончания  итераций:  .

Ключевой  момент в применении метода простой итерации состоит в

иквивалентном преобразовании уравнения. Способ, при котором выполнено

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

 выборе  итерационного параметра   метод сходится и значение

 .                                                                                                (6)

 

 

2.Реализация  алгоритма

 

                                             -                                +

                                                              -

-

+

 

 

Блок-схема 1 – Решение нелинейного уравнения

 

3.Разработка  интерфейса 

  Сначала создадим главное окно программы, без  которой нам никак нельзя обойтись. Обозначим  на ней «ввод», «решение», «график» и «заставка». Это окно будет являться опорным пунктом для наших дальнейших действий. Обозначим его как Form1

Рисунок 1 – Form1 

   Далее, создадим другие «формы» для  последующей работы, на которые в  дальнейшем просто будем ссылаться: окно ввода данных – Form 2, 
 
 
 
 
 

Рисунок 2- Form 2 
 
 
 
 

     Окно вывод результата решения уравнения – Form 3,

 
 
 
 
 

Рисунок 3- . Form 3 

     Окно для визуализации метода итераций – Form 4,

Рисунок 4.- Form 4

     Теперь, после того как мы создали все  необходимые формы , можем приступать к создании программного кода , в  котором будем ссылаться на каждую из них. В этом коде нам необходимо будет:

  1. для Form1- обеспечить ввод данных, для указания начального значения, а так же точность вычисления корня;
    1. для Form2 - включить в программу;
    1. для Form3- обеспечить вывод результата точного подсчета;
  1. для Form4- обеспечить вывод графика, а так же создать возможность сохранения результата;
    1. для Form5- включить в программу.

 

4.Результаты 

Пример 1.

Программа решает уравнение  Fn:=ln(x)+1.8.

Ввели начальные  данные Х0=4, Е=1

Получили ответ 3,18629436111989

Пример 2.

Программа решает уравнение Fn:=ln(x)+10.

Ввели начальные  данные Х0=4, Е=1

Получили  ответ 12,5203068033037

 

ЗАКЛЮЧЕНИЕ 

     В процессе создания курсовой работы были решены нелинейные уравнения методом простой итерации, а также был реализован данный метод в Delphi.

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

    1. изучение метода простой итерации, применяемый при решении нелинейных уравнений;
    2. создание вычислительного алгоритма метода простой итерации;
    3. составление программ решения нелинейных уравнений методом простой итерации в среде Delphi

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

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

 

СПИСОК  ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 

  1. Бахвалов, Н.С. Численные методы / Н.С. Бакланов.-  М. 2005- 178 с
  2. Бобровский, С.И. Delphi7. учеб. Пособие для студ. Среднего проф. образования / С.И. Бобровский. - СПб. 2006. – 736 с.
  3. Губарь, Ю.В. Введение в математическое моделирование. курс лекций / Ю.В. Губарь - М. 2007 - 340 с.
  4. Потемкин, И.А. Информатика. базовый курс. 2-е издание / И.А. Потемкин. – СПб. 2005. – 640 с.
  5. Пискунов, Н.С. Дифференциальное и интегральное исчисления. учебник для вузов. В 2-х т. Т.1 / Н.С. Пискунов. - М.: Интеграл 2005. – 416 с.
  6. Ракитин, В.И. Практическое руководство по методам вычисления / В.И. Ракитин. - М. 2008 – 440 с.
  7. Самарский, А.А.Численные методы / А.А. Самарский - М. 2005.- 324 с.
  8. Сухно, И.В.Численные методы и программирование/ И.В. Сухно - Краснодар 2005.- 473 с.
  9. Фаронов, В.В. Delphi Программирование на языке высокого уровня. учебник для вузов / В.В. Фаронов. – СПб.: Питер, 2003. – 640 с.

 

ПРИЛОЖЕНИЯ  А 

program Project1;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2.pas' {Form2},

Unit3 in 'Unit3.pas' {Form3},

Unit4 in 'Unit4.pas' {Form4},

Unit5 in 'Unit5.pas' {Form5},

Unit6 in 'Unit6.pas' {Form6};

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm4, Form4);

Application.CreateForm(TForm5, Form5);

Application.CreateForm(TForm6, Form6);

Application.Run;

end.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, StdCtrls, Buttons;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ А 

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

procedure N2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5;

{$R *.dfm}

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

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