Zitat von
Ari:
Wo binde ich denn
program Project1; ein? Vor der
unit funktioniert auch nicht..
das programm statement, ersetzt das
unit statement. du musst es stattdessen einfügen.
Zitat von
Ari:
Bei dem 3. Beispiel erhalte ich wieder Fehler..sEdit kennt mein Delphi nicht, sowas wie "Class TsSpinEdit" findet er auch nicht
Zitat:
//2 Zeilen mit 3 Spalten
setlength(M, 2, 3);
M[0, 0] := 1; M[1, 0] := 2;
M[0, 1] := 2; M[1, 1] := -1;
M[0, 2] := 1; M[1, 2] := 1;
Das bedeutet, dass die Zeilen die Unbekannten und die Spalten die Gleichungen sind?
Bei beispiel 4 leider ein Error,Property Memo.ExplicitWidth does not exist? Also die beiden Scrollfelder unter Zeile 1 und Zeile 2 fehlen bei mir
die TSSpinedits, hatte ich vergessen auszutauschen... einfch gegen das TSpinEdit tauschen oder stattdessen 'n TEDIT einfügen. anbei 'ne aktualisierte version. im notfall wie gesagt, die komponente austauschen und die units rausschmeissen.
im obigen codeabschnitt ist die initialisierung ... da dies eine matrix ist (mit 2 coordinaten) müssen beide versorgt werden... die erste ziffer M[Zeile, Spalte] wird mit einem entsprechenden wert versorgt. Diese initialiserung müsste bei dir wohl via flatfile erfolgen
. flatfile = einfache textdatei ohne formatierungsinformationen.
Zitat von
Ari:
Also zu dem geposteten zweiten Beispiel erst. Ausgabe in eine Textdatei wäre glaub ich super! Tut mir leid, wenn ich nochmal nachfrage - aber wofür stehen die Vektoren genau?
ein Vektor bildet eine zeile oder eine spalte der matrix ab. in matrix notation werden die vektoren und die matrixen zumeist mit einem grossbuchstaben abgekürzt.
im übigen codesegment hast du eine matrix im folgenden aufbau
1; 2; 1
2; -1; 1
diese kann man entweder als zwei zeilenvektoren oder drei spaltenvektoren angeben. Über die spalten-/zeilennummer werden diese dann innerhalb einer matrix addressiert.
Zitat von
Ari:
Also zu dem geposteten zweiten Beispiel erst. Ausgabe in eine Textdatei wäre glaub ich super! Tut mir leid, wenn ich nochmal nachfrage - aber wofür stehen die Vektoren genau? Ist das sowas wie A * x = b und alles drei sind dann Vektoren? A die Koeffizienten, x die Unbekannten und b das Ergebnis der Gleichungen?
ja, das ist genau das. im neuesten beispiel, wirst du eine 3x4 matrix sehen. da ist der letzte spaltenvektor b
[quote="Ari"]Also die Gleichungen ergeben sich aus Schleifen, so wie
Delphi-Quellcode:
set Z := { 1 to 9 };
set A := Z*Z;
var x[A*Z] binary;
subto jedesFeldEineZahl: forall <i,j> in A do
sum <k> in Z do x[i,j,k] == 1;
subto quadrate1: forall <k> in Z do
sum <i,j> in {1,2,3}*{1,2,3} do x[i,j,k] == 1;
...
Direkt auf Delphi übertragen kann man das fürchte ich aber nicht, oder? Demnach sind das dann auch sehr viele Gleichungen../quote]
warum sollte das nicht gehen? nur müsste man wissen was hier alles gemeint ist... mir sagen die kontrollkonstrukte nix... aber den algo. kannst sicher in pascal abbilden. der vater hat zwar vergessen matrix operationen mit zu integrieren (wie in fortran) aber die kann man sich ja leicht selber bauen ...
. beispiele im code und in der libary, wo ich früher schon dran hängte.
noch einen schönen abend und noch viel erfolg.
GG