📄 d9r5.txt
字号:
implementation
//PROGRAM D9R5
//Driver for routine AMOEBA
uses
unit2;
{$R *.DFM}
Function FAMOEB(X:array of real):real;
begin
FAMOEB:=0.6- BESSJ0(Sqr(X[1]-0.5)+Sqr(X[2]-0.6)+Sqr(X[3]-0.7));
end;
procedure TForm1.Button1Click(Sender: TObject);
const
s1='%12.6f'; s2 = '#0'; NP = 3; MP = 4; FTOL = 0.000001;
var
F:TextFile;
Y:array[0..4] of real; X:array[0..3] of real; P:matrx2;
I,J,NDIM,ITER:integer;
begin
SetLength(P,5,4);
P[1,1]:=0; P[1,2]:=0; P[1,3]:=0;
P[2,1]:=1; P[2,2]:=0; P[2,3]:=0;
P[3,1]:=0; P[3,2]:=1; P[3,3]:=0;
P[4,1]:=0; P[4,2]:=0; P[4,3]:=1;
NDIM:=NP;
//输出计算结果到文件
AssignFile(F, 'd:\delphi_shu\p9\d9r5.dat');
Rewrite(F);
For I:= 1 To MP do
begin
For J:= 1 To NP do
X[J]:= P[I, J];
Y[I]:= FAMOEB(X);
end;
AMOEBA(P, Y, MP, NP, NDIM, FTOL, ITER);
Writeln(F, 'Iterations: ', FormatFloat(s2,ITER));
Writeln(F, 'Vertices of final 3-D simplex and');
Writeln(F, 'function values at the vertices:');
Writeln(F, ' I X(I) Y(I) Z(I) FUNCTION');
For I:= 1 To MP do
Writeln(F, ' ',FormatFloat(s2,I),Format(s1,[P[I, 1]]),
Format(s1,[P[I, 2]]),Format(s1,[P[I, 3]]),Format(s1,[Y[I]]));
Writeln(F, 'True minimum is at ( 0.5, 0.6, 0.7)');
CloseFile(F);
//屏幕显示计算结果
memo1.Lines.LoadFromFile('d:\delphi_shu\p9\d9r5.dat');
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -