LitDev 1.2.14.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 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 LDWaveForm LDWebCam
LDWindows LDxml LDZip

LDMatrix
Eine 2D Matrix-Struktur zB. zur Lösung linearer Gleichungssysteme (Intern: Matrix#).
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

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, wenn die zweite Matrix eine skalare Zahl (Skalar) ist wird dieser zu JEDEM Element der ersten Matrix hinzuaddiert.

matrix1 Die erste Matrix.
matrix2 Die zweite Matrix (oder skalare Zahl).
result Der Name der Ergebnismatrix.
returns "" bei Erfolg, sonst "FAILED".

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

matrix1 Die zu kopierende Matrix (Quellmatrix).
matrix2 Die Matrix in welche zu kopieren ist (Zielmatrix).
returns "" bei Erfolg, sonst "FAILED".

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

CopyToSBArray(matrix)
Kopiert eine 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 MxN Matrix, gefüllt mit 0-Werten (Intern: Matrix#+1).
Zeilen- und Spaltenanzahl der Matrix können mit M=rows und N=cols entsprechend dimensioniert werden.

rows Die Anzahl der Zeilen M.
cols Die Anzahl der Spalten N.
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' (Gaußsches Eliminationsverfahren). M * M^-1 = M^-1 * M = I.
Die Anzahl der Zeilen und Spalten müssen für beide Matrizen gleich und beide quadratisch sein (Determinante <>0).
Eine singuläre Matrix gibt den Wert "SINGULAR" zurück und die Inverse Matrix wird fehlerhaft sein.

matrix Matrix deren Inverse zu berechnen ist (bleibt unverändert).
inverse Der Name der inversen Matrix.
returns "" bei Erfolg, sonst "FAILED" oder "SINGULAR".
example LDMatrix.Inverse(m,e) '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 Ergebnismatrix müssen der Zeilenanzahl der ersten und der Spaltenanzahl der zweiten Matrix entsprechen.
Alternativ, wenn die zweite Matrix eine skalare Zahl (Skalar) ist, wird dieser mit JEDEM Element der ersten Matrix multipliziert. Dazu müssen die Dimensionen der ersten und der Ergebnismatrix gleich sein.

matrix1 Die erste Matrix.
matrix2 Die zweite Matrix (oder skalare Zahl).
result Der Name der Ergebnismatrix.
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 Wert.
returns "" bei Erfolg, sonst "FAILED".

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

matrix Die zu transponierende Matrix.
transpose Der Name der transponierten Ergebnismatrix.
returns "" bei Erfolg, sonst "FAILED".

View(matrix,modal)
Zeigt eine LDMatrix in einem eigenen Viewer-Fenster an (zB. Debugging, wählbare Ziffernanzeige).
matrix Der Name der anzuzeigenden Matrix.
modal Anzeige der Matrix hält Programmablauf an bis der Viewer geschlossen wird? "True" oder "False".