Thema: Delphi widerstandsschaltung

Einzelnen Beitrag anzeigen

Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#9

Re: widerstandsschaltung

  Alt 3. Dez 2004, 16:48
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
  Mit Zitat antworten Zitat