LitDev 1.2.16.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 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 der Matrix können mit rows (m) und cols (n) entsprechend dimensioniert werden.

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' (Gauß Elimination, M * M^-1 = E).
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 Wert.
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 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".