Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var R : array[1..5] of integer;
var Rp : Double;
var Rs : Double;
var Rx : Double;
var E : Double;
var Ep : Double;
var Es : Double;
var c : Char;
begin
R[1] := 10;
R[2] := 47;
R[3] := 147;
R[4] := 237;
R[5] := 347;
c := '0';
Rx := 144;
E := 10000000.0;
for n := 1 to 5 do
begin
for m := 1 to 5 do
begin
Rp := (R[n] * R[m]) / (R[n] + R[m]);
Rs := R[n] + R[m];
Ep := (Rx - Rp) / Rx;
Es := (Rx - Rs) / Rx;
if Ep < E then
begin
E := Ep;
R1 := R[n];
R2 := R[m];
c := 'P';
end;
if Es < E then
begin
E := Es;
R1 := R[n];
R2 := R[m];
c := 'S';
end;
end;
end;
// Ergebnisse stehen nun in E, R1 und R2, c
end;
hab es gerade in 5min runter gehackt, nicht getestet
aber richtige richtung
man kann das auch mit einer repeat until realisieren
und schauen wo die Kostenfunktion
Zitat:
kleinste relative fehler(in %)auftritt (Fr=100*abs(Rx-R)/Rx)
ein Minimum aufweist