Einzelnen Beitrag anzeigen

axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Gleichungssysteme lösen?

  Alt 27. Aug 2003, 18:58
Ich glaube nicht, dass es ein Fehler ist... Irgendwie muss man die Matrix noch verändern, damit es klappt..

Der Hauptcode:


Delphi-Quellcode:
Matrix.SolveLinearSystem(Array,m,n);
//m,n sind die Dimensionen, die Funktion hab ich aus dem Internet.
var sol,auf : array of array of extended;
     rechts,links : array of array of extended; // rechte und linke Seite
begin
    // --- Füllen der Matrix

       setlength(Auf,elemente.Count+1,anzahled+anzahlpr+1);

       for i := 0 to elemente.Count - 1 do
       begin
        for j := 0 to anzahled-1 do
         begin
           auf[i,j] := links[i,j];
         end;
        end;

       for i := 0 to elemente.Count - 1 do
       begin
        for j := 0 to anzahlpr - 1 do
         begin
           auf[i,j+anzahled] := - rechts[i,j]; // negativ Werte
         end;
        end;
                    // a = 1 reihe setzen

       for i := 0 to anzahlpr + anzahled do
       begin
        if i = 0 then Auf[elemente.count,i] := 1 ELSE
        if i = anzahlpr + anzahled then Auf[elemente.count,i] := 1 ELSE
        Auf[elemente.count,i]:= 0 ;

       end;

    //---- Berechnung....

    Matrix := Mathe.init;

    try
    sol := Matrix.SolveLinearSystem(Auf,elemente.count+1 anzahled+anzahlpr+1);
    except
     erroradd('[Mathematik] Das Gleichungssystem ist nicht lösbar oder');
     erroraddline(' hat unendlich viele Lösungen');
    end;
-----------------------------

[edit=sakura]Delphi-Tags eingefügt. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat