Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
Delphi 2005 Personal
|
Re: Gleichungssysteme lösen?
27. Aug 2003, 19: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]
|
|
Zitat
|