LitDev 1.2.19.0 DE Extension API

LD3DView LDArray LDBits LDBlueTooth LDCall
LDChart LDClient LDClipboard LDColours LDCommPort
LDController LDControls LDCursors LDDataBase LDDateTime
LDDebug LDDialogs LDDictionary LDEffect LDEmail
LDEncryption LDEvents LDFastArray LDFastShapes LDFigures
LDFile LDFocus LDftp LDGraph LDGraphicsWindow
LDHID LDIcon LDImage LDInline LDIOWarrior
LDList LDLogic LDMath LDMathX LDMatrix
LDMusic LDNetwork LDPhysics LDProcess LDQueue
LDRegex LDResources LDScrollBars LDSearch LDServer
LDSettings LDShapes LDShell LDSort LDSound
LDSpeech LDStatistics LDStopwatch LDText LDTextWindow
LDTimer LDTranslate LDUnits LDUtilities LDVector
LDWaveForm LDWebCam LDWindows LDxml LDZip

LDMatrix
2D Matrix-Struktur zB. zum Lösen linearer Gleichungssysteme (Intern: Matrix#).
Die Zeilen und Spalten sind ab 1 indexiert. Bei einem Fehler wird "FAILED" zurückgegeben.
Format für LDMatrix ist unterschiedlich und inkompatibel zum LDImage.ColorMatrix Format (2D Array).

example other-samples\LDMatrix.sb
http://de.wikipedia.org/wiki/Matrix_(Mathematik)


Add Copy CopyNew
CopyToSBArray Create Delete
GetValue Inverse Multiply
SetValue Transpose View

Add(matrix1,matrix2,result)
Addiert zwei Matrizen. Die Anzahl der Zeilen und Spalten müssen für beide Matrizen gleich sein.
Alternativ: Ist die zweite Matrix eine skalare Zahl (Skalar), wird dieser zu JEDEM Element der ersten Matrix hinzuaddiert.

matrix1 Der Name der ersten Matrix.
matrix2 Der Name der zweiten Matrix (oder skalare Zahl).
result Der Name der bestehenden Summenmatrix.
returns "" bei Erfolg, sonst "FAILED".

Copy(matrix1,matrix2)
Kopiert eine Matrix in eine bestehende Matrix.
Die Dimensionen beider Matrizen müssen identisch sein.

matrix1 Der Name der zu kopierenden Quellmatrix.
matrix2 Der Name der Zielmatrix in welche kopiert wird.
returns "" bei Erfolg, sonst "FAILED".

CopyNew(matrix)
Kopiert eine bestehende Matrix in eine neue Matrix (Intern: Matrix#+1).
matrix Der Name der zu kopierenden Quellmatrix.
returns Der Name der neuen Matrixkopie bei Erfolg, sonst "FAILED".

CopyToSBArray(matrix)
Kopiert eine bestehende LDMatrix in einen neuen 2D SB-Array.
Die Umkehrung (SB-Array zu LDMatrix) ist nicht möglich, da SB-Arrays nicht zwangsläufig mit fortlaufenden Ganzzahlen indexiert werden.

matrix Der Name der Matrix.
returns Der Name des 2D SB-Array bei Erfolg, sonst "FAILED".

Create(rows,cols)
Erstellt eine neue m*n Matrix, gefüllt mit 0-Werten (Intern: Matrix#+1).
Zeilen- und Spaltenanzahl werden mit rows (m) und cols (n) entsprechend dimensioniert.

rows Die Anzahl der Zeilen (m >= 1).
cols Die Anzahl der Spalten (n >= 1).
returns Der Name der neuen Matrix bei Erfolg, sonst "FAILED".

Delete(matrix)
Löscht eine existierende Matrix (nicht generell erforderlich, kann aber bei Verwendung vieler Matrizen Speicherplatz freigeben).
matrix Der Name der zu löschenden Matrix.
returns "" bei Erfolg, sonst "FAILED".

GetValue(matrix,row,col)
Ermittelt den Wert eines Elementes in einer bestehenden Matrix.
matrix Der Name der Matrix.
row Die Zeile (ab 1) für den zu ermittelnden Wert.
col Die Spalte (ab 1) für den zu ermittelnden Wert.
returns Der ermittelte Wert bei Erfolg, sonst "FAILED".

Inverse(matrix,inverse)
Ermittelt die 'Inverse Matrix' M^-1 zu einer Matrix M (sodaß M * M^-1 = E, Gauß Elimination).
Die Anzahl der Zeilen und Spalten beider Matrizen müssen identisch und jeweils quadratisch sein.
Eine singuläre Matrix (det = 0) gibt den Wert "SINGULAR" zurück und die inverse Matrix wird fehlerhaft sein.

matrix Der Name der Matrix deren Inverse zu berechnen ist (bleibt unverändert, det <> 0).
inverse Der Name der bestehenden inversen Matrix.
returns "" bei Erfolg, sonst "FAILED" oder "SINGULAR".
example LDMatrix.Inverse(M, I) 'I = Einheitsmatrix E, für M=E

Multiply(matrix1,matrix2,result)
Multipliziert zwei Matrizen. Die Anzahl der Zeilen und Spalten müssen für beide Matrizen gleich sein.
Die Anzahl der Zeilen und Spalten der Produktmatrix müssen der Zeilenanzahl der ersten und der Spaltenanzahl der zweiten Matrix entsprechen.
Alternativ: Ist die zweite Matrix eine skalare Zahl (Skalar), wird dieser mit JEDEM Element der ersten Matrix multipliziert. Dazu müssen die Dimensionen der ersten und der Produktmatrix gleich sein.

matrix1 Der Name der ersten Matrix.
matrix2 Der Name der zweiten Matrix (oder skalare Zahl).
result Der Name der bestehenden Produktmatrix.
returns "" bei Erfolg, sonst "FAILED".

SetValue(matrix,row,col,value)
Setzt den Wert für ein Element in einer bestehenden Matrix.
matrix Der Name der Matrix.
row Die Zeile (ab 1) für den zu setzenden Wert.
col Die Spalte (ab 1) für den zu setzenden Wert.
value Der zu setzende Zahlenwert.
returns "" bei Erfolg, sonst "FAILED".

Transpose(matrix,transpose)
Ermittelt die 'Transponierte Matrix' (an Hauptdiagonale gespiegelt).
Die Anzahl der Zeilen und Spalten beider Matrizen müssen kreuzweise gleich sein, dh. die erste Matrix muß soviele Spalten haben wie die zweite Matrix Zeilen, und umgekehrt.

matrix Der Name der zu transponierenden Matrix.
transpose Der Name der bestehenden transponierten Matrix.
returns "" bei Erfolg, sonst "FAILED".

View(matrix,modal)
Zeigt eine bestehende LDMatrix in einem eigenen Viewer-Fenster an (zB. Debugging, wählbare Ziffernanzeige, Fenster zuoberst).
Fenstertitel: 'Matrix# - Dimension rows x cols' (m Zeilen x n Spalten)

matrix Der Name der anzuzeigenden Matrix.
modal Programmablauf anhalten, bis der Viewer geschlossen wird? "True" oder "False".
Info: Für modal <> "True", muß dieser Befehl aus einer Event Sub aufgerufen werden (STA).