Решение нелинейных уравнений методом итерации
Курсовая работа, 19 Декабря 2011, автор: пользователь скрыл имя
Краткое описание
Решение нелинейных уравнений является сложной задачей. Не существует методов, которые гарантировали бы успех решения любой такой задачи.
Для отдельных уравнений, наибольшую проблему представляет задача отделения решений (корней).
Содержание
ВВЕДЕНИЕ 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(
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,
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.
ПРОДОЛЖЕНИЕ
ПРИЛОЖЕНИЯ А
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,'',
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,'',
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.