set_diagonal_matrixT_set_diagonal_matrixSetDiagonalMatrixSetDiagonalMatrix (Operator)

Name

set_diagonal_matrixT_set_diagonal_matrixSetDiagonalMatrixSetDiagonalMatrix — Setzt die Diagonalelemente einer Matrix.

Signatur

set_diagonal_matrix( : : MatrixID, VectorID, Diagonal : )

Herror T_set_diagonal_matrix(const Htuple MatrixID, const Htuple VectorID, const Htuple Diagonal)

void SetDiagonalMatrix(const HTuple& MatrixID, const HTuple& VectorID, const HTuple& Diagonal)

void HMatrix::SetDiagonalMatrix(const HMatrix& VectorID, Hlong Diagonal) const

static void HOperatorSet.SetDiagonalMatrix(HTuple matrixID, HTuple vectorID, HTuple diagonal)

void HMatrix.SetDiagonalMatrix(HMatrix vectorID, int diagonal)

Beschreibung

Der Operator set_diagonal_matrixset_diagonal_matrixSetDiagonalMatrixSetDiagonalMatrixSetDiagonalMatrix überschreibt die Diagonalelemente der Matrix MatrixMatrixMatrixMatrixmatrix mit den Elementen der Matrix VectorVectorVectorVectorvector. Die Matrizen sind durch ihre Matrix Handles MatrixIDMatrixIDMatrixIDMatrixIDmatrixID und VectorIDVectorIDVectorIDVectorIDvectorID gegeben. Die Matrix VectorVectorVectorVectorvector muss eine Spalte und eine Zeile, n Spalten und eine Zeile oder eine Spalte und n Zeilen haben. n ist die Anzahl der Elemente, die in der Matrix MatrixMatrixMatrixMatrixmatrix gesetzt werden (siehe unten). Wenn die Matrix VectorVectorVectorVectorvector eine Spalte und eine Zeile hat, d.h. die Matrix nur einen Wert hat, so wird jedes Diagonalelement der Matrix MatrixMatrixMatrixMatrixmatrix mit diesem Wert überschrieben. Andernfalls wird die Diagonale mit den Elementen der Matrix VectorVectorVectorVectorvector überschrieben.

Wenn DiagonalDiagonalDiagonalDiagonaldiagonal = 0, wird die Hauptdiagonale der Matrix MatrixMatrixMatrixMatrixmatrix überschrieben. Die Anzahl n = min(Anzahl der Zeilen der Matrix MatrixMatrixMatrixMatrixmatrix, Anzahl der Spalten der Matrix MatrixMatrixMatrixMatrixmatrix).

Die obere DiagonalDiagonalDiagonalDiagonaldiagonal-te Nebendiagonale der MatrixMatrixMatrixMatrixmatrix wird überschrieben, wenn DiagonalDiagonalDiagonalDiagonaldiagonal eine positive Zahl beinhaltet. Für das Beispiel 1 ist die Anzahl n = min(Anzahl der Zeilen der Matrix MatrixMatrixMatrixMatrixmatrix, Parameter DiagonalDiagonalDiagonalDiagonaldiagonal). Für das Beispiel 2 ist die Anzahl n = min(Anzahl der Zeilen der Matrix MatrixMatrixMatrixMatrixmatrix, Anzahl der Spalten der Matrix MatrixMatrixMatrixMatrixmatrix).

Die untere DiagonalDiagonalDiagonalDiagonaldiagonal-te Nebendiagonale der MatrixMatrixMatrixMatrixmatrix wird überschrieben, wenn DiagonalDiagonalDiagonalDiagonaldiagonal eine negative Zahl beinhaltet. Für das Beispiel 1 ist die Anzahl n = min(Anzahl der Spalten der Matrix MatrixMatrixMatrixMatrixmatrix, Parameter DiagonalDiagonalDiagonalDiagonaldiagonal). Für das Beispiel 2 ist die Anzahl n = min(Anzahl der Zeilen der Matrix MatrixMatrixMatrixMatrixmatrix, Anzahl der Spalten der Matrix MatrixMatrixMatrixMatrixmatrix).

Ausführungsinformationen

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

MatrixIDMatrixIDMatrixIDMatrixIDmatrixID (input_control, Zustand wird modifiziert)  matrix HMatrix, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix Handle der Eingabematrix.

VectorIDVectorIDVectorIDVectorIDvectorID (input_control)  matrix HMatrix, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix Handle, welches die Diagonalelemente enthält, die gesetzt werden sollen.

DiagonalDiagonalDiagonalDiagonaldiagonal (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Position der Diagonale.

Defaultwert: 0

Wertevorschläge: -20, -10, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 10, 20

Ergebnis

Sind die Parameterwerte korrekt, dann liefert set_diagonal_matrixset_diagonal_matrixSetDiagonalMatrixSetDiagonalMatrixSetDiagonalMatrix den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_matrixcreate_matrixCreateMatrixCreateMatrixCreateMatrix

Nachfolger

get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrix, get_value_matrixget_value_matrixGetValueMatrixGetValueMatrixGetValueMatrix

Siehe auch

get_diagonal_matrixget_diagonal_matrixGetDiagonalMatrixGetDiagonalMatrixGetDiagonalMatrix

Modul

Foundation