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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать файл)

Dialogs, StdCtrls, Buttons;

type

TForm2 = class(TForm)

Label1: TLabel;

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

Label2: TLabel;

Edit1: TEdit;

Edit2: TEdit;

BitBtn1: TBitBtn;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit3, Unit4;

{$R *.dfm}

procedure TForm2.BitBtn1Click(Sender: TObject);

Var

xo,E,xn,y,z: extended;

Function Fn(x:real):real;

begin

Fn:=ln(x)+10;

end;

begin

xo:=strtofloat(edit1.Text);

E:=strtofloat(edit2.Text);

z:=1/xo;

Form4.Series1.Clear;

Repeatxn:=ln(xo)+10;

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

y:=abs(xn-xo);

xo:=xn;

Until y<=E;

If z>=1 then Form3.edit1.Text:='Не удовлетворяет условию сходимости'else

If z<1 then

Form3.edit1.Text:=floattostr(xn);

If z>=1 then Form4.series1.clear;

Form4.StaticText3.Caption:= '';

Form4.StaticText3.Caption:= form3.edit1.text;

Form4.StaticText1.Caption:= '';

Form4.StaticText1.Caption:= form2.edit1.text;

Form4.StaticText2.Caption:= '';

Form4.StaticText2.Caption:= form2.edit2.text;

Form4.StaticText4.Caption:='2,846';

end;

end.

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, Buttons;

type

TForm3 = class(TForm)

Label1: TLabel;

BitBtn1: TBitBtn;

Button1: TButton;

Edit1: TEdit;

Label2: TLabel;

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

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1, Unit2;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);

Var

S: string;

F: textfile;

begin

AssignFile(F,'result.txt');

Append(F);

Writeln(F,'  '+ Form2.edit1.text+ '   '+ Form2.edit2.text+ '    '+ edit1.text);

closefile(F);

end;

end.

unit Unit4;

interface

uses

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

Dialogs, StdCtrls, Buttons, TeEngine, Series, ExtCtrls, TeeProcs, Chart;

type

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

TForm4 = class(TForm)

Chart1: TChart;

Series1: TLineSeries;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

StaticText1: TStaticText;

StaticText2: TStaticText;

StaticText3: TStaticText;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

StaticText4: TStaticText;

procedure BitBtn2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

uses Unit1, Unit2, Unit3;

{$R *.dfm}

procedure TForm4.BitBtn2Click(Sender: TObject);

var x,a,z:real;

begin

a:=strtofloat(form2.edit1.Text);

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

z:=1/a;

Series1.Clear;

If z>=1 then Series1.Clear else

Repeat

x:=ln(a)+1.8;

Series1.AddXY(a,ln(a)+1.8,'',clRed);

a:=x;

Until a>2.8458;

If z>=1 then Series1.Clear else

Repeat

x:=ln(a)+1.8;

Series1.AddXY(a,ln(a)+1.8,'',clRed);

a:=x;

Until a<2.84587;

end;

end.

unit Unit5;

interface

uses

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

Dialogs, StdCtrls, Buttons, ExtCtrls, jpeg;

type

TForm5 = class(TForm)

Image1: TImage;

Label1: TLabel;

BitBtn1: TBitBtn;

private

{ Private declarations }

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

public

{ Public declarations }end;

var

Form5: TForm5;

implementation

{$R *.dfm}

end.

unit Unit6;

interface

uses

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

Dialogs, ExtCtrls, jpeg, StdCtrls;

type

TForm6 = class(TForm)

Image1: TImage;

procedure Timer1Timer(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations } end; var

Form6: TForm6;

implementation

{$R *.dfm}

procedure TForm6.Timer1Timer(Sender: TObject);

begin

close

end;

end. 
 

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