Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект_Кузнецова.doc
Скачиваний:
1
Добавлен:
16.08.2019
Размер:
536.58 Кб
Скачать

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

  1. Алабужев П.М.. Геронимус В.Б.. МинкевичЛ.М.. Шеховцов Б.А. Теория подобия и размерностей. Моделирование.-М.: Высшая школа. 1968.- 208 с.

  2. Бронштейн И.Н.. Семендяев К.А. Справочник по математике для инженеров и учащихся втузовю -13-е изд.. исправленное.-М.: Наука. Гл.Ред. физ.-мат. лит.. 1986. -544 с.

  3. Волков Е.А. Численнне методо: Учебное пособие. - М.: Наука. Главная редакция физико-математической литературьі. 1982. - 256 с.

  4. Вычислительная техника и программирование. Часть 3 «Основы алгоритмизации. программирования и решения инженерньгх и зкономических задач на ЭВМ». Учебное пособие / Под общей редакцией проф. Меркта Р.В. - Одесса: ОГМУ.2001. -86 с.

  5. Годунов С.К.. Рябенький В.С. Разностные схемы (введение в теорию). Учебное пособие. - М: Наука. 1973.- 400 с.

  6. Кенту М. DELPHI 6 :для профессионалов. -СПб.:Питер. 2002. -1088 с.

  7. Лебедев А.Н. Моделирование в научно-технических исследованиях. -М.: Радио и связь. 1989. -224 с.

  8. Львовский Е.Н. Статистические метода построения змпирических формул: Учеб. пособие для втузов. - 2-е изд. .перераб. и доп. -М.:Вьісш. шк.. 1988. -239 с.

  9. Мудров А.Е. Численные методы для ПЭВМ на языках Бейсик. Фортран и Паскаль. - Томск: МП "Раско". 1991.-272 с.

  10. Турчак Л.И. Основи численних методов: Учеб. Пособие. - М.: Наука. Гл.ред.физ.-мат. лит.. 1987. - 320 с.

  11. Фаранов П.С. Программирование баз данньгх в DELPHI 6. Учебный курс. -СПб.:Питер. 2002. -374 с.

  12. Методические указания разработанные кафедрой “Техническая кибернетика” и электронные документы – методуказания к лабораторным работам по курсам “Численные методы” и “Моделирование систем”.

Приложение Приложение 1. Модули задачи идентификации.

unit IdenMain;

interface

uses

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

Dialogs. StdCtrls;

type

TForm1 = class(TForm)

Memo1: TMemo;

Button1: TButton;

Button3: TButton;

SaveDialog1: TSaveDialog;

OpenDialog1: TOpenDialog;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

uses Pproc1;

procedure TForm1.Button1Click(Sender: TObject);

var Ne.Ie.M.n.me.i.j : Integer;

T.X.Y.R.F : Vec;

C : array[0..10] of Real;

Ap.A : Mat;

f1.f2 : TextFile;

YY.s : Real;

Begin

if not(OpenDialog1.Execute) then Exit;

if not(SaveDialog1.Execute) then Exit;

AssignFile(f1.OpenDialog1.FileName);

AssignFile(f2.SaveDialog1.FileName);

ReSet(f1);

ReWrite(f2);

A[1.1]:=0;

A[1.2]:=0;

A[1.3]:=0;

A[2.1]:=0;

A[2.2]:=0;

A[2.3]:=0;

n:=4;

Readln(f1.Ne);

Writeln(f2.'Ne='.Ne:2);

for Ie:=1 to Ne do

begin

Readln(f1.me);

Writeln(f2.'me='.me);

for i:=1 to me do

begin

Readln(f1.T[i].X[i].Y[i]);

Writeln(f2.i:2.' '.T[i]:10:4.X[i]:10:4.Y[i]:10:4);

end;

Gram(me.Ap.T.Y.M.n);

Gauss(M.Ap.R.s);

for j:=0 to n do C[j]:=R[j+1];

for i:=1 to me do

begin

YY:=0;

for j:=1 to n do YY:=YY+j*C[j]*Power(T[i].j-1);

A[1.1]:=A[1.1]+sqr(YY);

A[1.2]:=A[1.2]-X[i]*YY;

A[1.3]:=A[1.3]-Y[i]*YY;

A[2.1]:=A[1.2];

A[2.2]:=A[2.2]+sqr(X[i]);

A[2.3]:=A[2.3]+Y[i]*X[i];

end;

end;

Gauss(2.A.F.s);

Writeln(f2.' B='.F[1]:10:4.' k='.f[2]:10:4);

CloseFile(f1);

CloseFile(f2);

Memo1.Lines.LoadFromFile(SaveDialog1.FileName);

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

OpenDialog1.InitialDir := Application.ExeName;

SaveDialog1.InitialDir := Application.ExeName;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Close;

end;

end.

________________________________________________________________________________

unit Pproc1;

interface

type

Mat = array[1..20.1..21] of Real;

Vec = array[1..101] of Real;

Xfn = function(K1.K2.X:Real):Real;

procedure Gauss(N:Integer; A:Mat; var X:Vec; var S:Real);

procedure GRAM(N:Integer; var A:Mat; var X.Y:Vec; var M.K:Integer);

procedure Newton(var X:Real; K1.K2.E:Real; F_div_df:Xfn);

procedure Dix(A.B.K1.K2.E:Real; var X:Real; F:Xfn; var Kd:Integer);

function Power(Xx:Real; P:Integer):Real;

function Deg_Rad(Gr:Real):Real;

implementation

function Power(Xx:Real; P:Integer):Real;

var I:Integer; S:Real;

begin

if P=0 then Power:=1.0 else begin

S:=1.0;

for i:=1 to P do S:=S*Xx;

Power:=S;

end;

end;

function Deg_Rad(Gr:Real):Real;

begin Deg_rad:=Gr*Pi/180.;

end;

procedure Newton(var X:Real; K1.K2.E:Real; F_div_df : Xfn);

var D.S:Real;

begin

S:=X;

repeat

S:=S-F_div_df(K1.K2.X);

D:=Abs(S-X);

X:=S;

until D<=E

end;

procedure Dix(A.B.K1.K2.E:Real; var X:Real; F:Xfn; var Kd:Integer);

var

S.R:Real;

function Sgn(var X:Real):Integer;

begin Sgn:=0;

if X<0.0 then Sgn:=-1;

if X>0.0 then Sgn:=1;

end;

begin

Kd:=0;

Repeat

begin

X:=(A+B)/2.0; R:=F(K1.K2.X);

S:=F(K1.K2.A);

if Sgn(R)=Sgn(S) then A:=X else B:=X;

end;

Until abs(A-B)< E;

if((Abs(A-X)<=E) or (Abs(B-X)<=E)) and (Abs(R)>(2.*E)) then Kd:=1;

end;

procedure Gauss(N:Integer; A:Mat; var X:Vec; var S:Real);

Var

I.J.K.K1.N1:Integer;

R:real;

begin

N1:=N+1;

for K:=1 to N do

begin

K1:=K+1;

S:=A[K.K];

J:=K;

for I:=K1 to N do

begin

R:=A[I.K];

if Abs(R) > Abs(S) then begin

S:=R;

J:=I;

end;

end;

if S=0.0 then Exit;

if J<> K then for I:=K to N1 do

begin

R:=A[K.I];

A[K.I]:=A[J.I];

A[J.I]:=R

end;

for J:=K1 to N1 do A[K.J]:=A[K.J]/S;

for I:=K1 to N do

begin

R:=A[I.K];

for J:=K1 to N1 do A[I.J]:=A[I.J]-A[K.J]*R;

end;

end;

if S<>0.0 then for I:=N downto 1 do

begin

S:=A[I.N1];

for J:=I+1 to N do S:=S-A[I.J]*X[J];

X[I]:=S;

end;

end;

procedure Gram(N:Integer; var A:Mat; var X.Y:Vec; var M.K:Integer);

var

I1.Pp.I.J.L:Integer;

S:Real;

begin

M:=K+1;

for I:=1 to M do

begin

for J:=1 to M do

begin S:=0.0; Pp:=I+J-2;

for L:=1 to N do S:=S+Power(X[L].Pp);

A[I.J]:=S;

end;

I1:=I-1;

S:=0.0;

for L:=1 to N do S:=S+Y[L]*Power(X[L].I1);

A[I.M+1]:=S;

end;

end;

begin

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]