Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
Delphi XE5 Professional
|
AW: Lineares Gleichungssystem lösen
29. Okt 2020, 14:15
Hallo,
Dein Zahlenbeispiel ist - wie von Dir oben angegeben wurde - noch nicht lösbar, weil die konkreten Zahlenwerte fehlen und Widersprüche in den Unbekannten vorhanden sind. Bitte alles überprüfen und korrigieren.
Du solltest Dein Programm etwa so gestalten:
Delphi-Quellcode:
VAR
A_Matrix : TGaussMatrix; // korrigiert!
X_Vektor : TGaussSolved; // korrigiert!
n_Gleichungen: Integer;
...
n_Gleichungen := 10;
SetLength(A_Matrix, n_Gleichungen, n_Gleichungen + 1);
SetLength(X_Vektor, n_Gleichungen);
Try
// 0. Zeile: 1*a+l2*b+l3*b+00*c+00*d+00*e+00*f+00*g+00*h+000*i =b1
A_Matrix[0, 0] := ;
A_Matrix[0, 1] := ;
A_Matrix[0, 2] := ;
A_Matrix[0, 3] := ;
A_Matrix[0, 4] := ;
A_Matrix[0, 5] := ;
A_Matrix[0, 6] := ;
A_Matrix[0, 7] := ;
A_Matrix[0, 8] := ;
A_Matrix[0, 9] := ;
// 1. Zeile: 00*a+l2*b+l3*b+l4*c+l5*d+00*e+00*f+00*g+00*h+000*i =b2
A_Matrix[1, 0] := ;
A_Matrix[1, 1] := ;
A_Matrix[1, 2] := ;
A_Matrix[1, 3] := ;
A_Matrix[1, 4] := ;
A_Matrix[1, 5] := ;
A_Matrix[1, 6] := ;
A_Matrix[1, 7] := ;
A_Matrix[1, 8] := ;
A_Matrix[1, 9] := ;
// 2. Zeile: 00*a+00*b+l3*b+l4*c+l5*d+l6*e+00*f+00*g+00*h+000*i =b3
A_Matrix[2, 0] := ;
A_Matrix[2, 1] := ;
A_Matrix[2, 2] := ;
A_Matrix[2, 3] := ;
A_Matrix[2, 4] := ;
A_Matrix[2, 5] := ;
A_Matrix[2, 6] := ;
A_Matrix[2, 7] := ;
A_Matrix[2, 8] := ;
A_Matrix[2, 9] := ;
// 3 Zeile: 00*a+00*b+00*b+l4*c+l5*d+l6*e+l7*f+00*g+00*h+000*i =b4
A_Matrix[3, 0] := ;
A_Matrix[3, 1] := ;
A_Matrix[3, 2] := ;
A_Matrix[3, 3] := ;
A_Matrix[3, 4] := ;
A_Matrix[3, 5] := ;
A_Matrix[3, 6] := ;
A_Matrix[3, 7] := ;
A_Matrix[3, 8] := ;
A_Matrix[3, 9] := ;
// 4 Zeile: 00*a+00*b+00*b+00*c+00*d+l6*e+l7*f+l8*g+00*h+000*i =b5
A_Matrix[4, 0] := ;
A_Matrix[4, 1] := ;
A_Matrix[4, 2] := ;
A_Matrix[4, 3] := ;
A_Matrix[4, 4] := ;
A_Matrix[4, 5] := ;
A_Matrix[4, 6] := ;
A_Matrix[4, 7] := ;
A_Matrix[4, 8] := ;
A_Matrix[4, 9] := ;
// 5 Zeile: 00*a+00*b+00*b+00*c+00*d+00*e+l7*f+l8*g+l9*h+000*i =b6
A_Matrix[5, 0] := ;
A_Matrix[5, 1] := ;
A_Matrix[5, 2] := ;
A_Matrix[5, 3] := ;
A_Matrix[5, 4] := ;
A_Matrix[5, 5] := ;
A_Matrix[5, 6] := ;
A_Matrix[5, 7] := ;
A_Matrix[5, 8] := ;
A_Matrix[5, 9] := ;
// 6 Zeile: 00*a+00*b+00*b+00*c+00*d+00*e+00*f+l8*g+l9*h+l10*i =b7
A_Matrix[6, 0] := ;
A_Matrix[6, 1] := ;
A_Matrix[6, 2] := ;
A_Matrix[6, 3] := ;
A_Matrix[6, 4] := ;
A_Matrix[6, 5] := ;
A_Matrix[6, 6] := ;
A_Matrix[6, 7] := ;
A_Matrix[6, 8] := ;
A_Matrix[6, 9] := ;
// 7 Zeile: 00*a+00*b+00*b+00*c+00*d+00*e+00*f+00*g+l9*h+l10*i =b8
A_Matrix[7, 0] := ;
A_Matrix[7, 1] := ;
A_Matrix[7, 2] := ;
A_Matrix[7, 3] := ;
A_Matrix[7, 4] := ;
A_Matrix[7, 5] := ;
A_Matrix[7, 6] := ;
A_Matrix[7, 7] := ;
A_Matrix[7, 8] := ;
A_Matrix[7, 9] := ;
// 8 Zeile: 00*a+00*b+00*b+00*c+00*d+00*e+00*f+00*g+00*h+l10*i =b9
A_Matrix[8, 0] := ;
A_Matrix[8, 1] := ;
A_Matrix[8, 2] := ;
A_Matrix[8, 3] := ;
A_Matrix[8, 4] := ;
A_Matrix[8, 5] := ;
A_Matrix[8, 6] := ;
A_Matrix[8, 7] := ;
A_Matrix[8, 8] := ;
A_Matrix[8, 9] := ;
// 9 Zeile: 00*a+00*b+00*b+00*c+00*d+00*e+00*f+00*g+00*h+000*i =b10
A_Matrix[9, 0] := ;
A_Matrix[9, 1] := ;
A_Matrix[9, 2] := ;
A_Matrix[9, 3] := ;
A_Matrix[9, 4] := ;
A_Matrix[9, 5] := ;
A_Matrix[9, 6] := ;
A_Matrix[9, 7] := ;
A_Matrix[9, 8] := ;
A_Matrix[9, 9] := ;
// Rechte Seite des GL-Systems: b1 ... b10
A_Matrix[0, 10] := ;
A_Matrix[1, 10] := ;
A_Matrix[2, 10] := ;
A_Matrix[3, 10] := ;
A_Matrix[4, 10] := ;
A_Matrix[5, 10] := ;
A_Matrix[6, 10] := ;
A_Matrix[7, 10] := ;
A_Matrix[8, 10] := ;
A_Matrix[9, 10] := ;
X_Vektor:= SolveLinearSystem(A_Matrix, n_Gleichungen, n_Gleichungen + 1);
...
Finally
A_Matrix:= NIL;
X_Vektor:= NIL;
End;
Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
Geändert von Andreas13 (29. Okt 2020 um 14:31 Uhr)
|