set_diagonal_matrixT_set_diagonal_matrixSetDiagonalMatrixSetDiagonalMatrixset_diagonal_matrix (Operator)

Name

set_diagonal_matrixT_set_diagonal_matrixSetDiagonalMatrixSetDiagonalMatrixset_diagonal_matrix — 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)

def set_diagonal_matrix(matrix_id: HHandle, vector_id: HHandle, diagonal: int) -> None

Beschreibung

Der Operator set_diagonal_matrixset_diagonal_matrixSetDiagonalMatrixSetDiagonalMatrixSetDiagonalMatrixset_diagonal_matrix überschreibt die Diagonalelemente der Matrix MatrixMatrixMatrixMatrixmatrixmatrix mit den Elementen der Matrix VectorVectorVectorVectorvectorvector. Die Matrizen sind durch ihre Matrix Handles MatrixIDMatrixIDMatrixIDMatrixIDmatrixIDmatrix_id und VectorIDVectorIDVectorIDVectorIDvectorIDvector_id gegeben. Die Matrix VectorVectorVectorVectorvectorvector 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 MatrixMatrixMatrixMatrixmatrixmatrix gesetzt werden (siehe unten). Wenn die Matrix VectorVectorVectorVectorvectorvector eine Spalte und eine Zeile hat, d.h. die Matrix nur einen Wert hat, so wird jedes Diagonalelement der Matrix MatrixMatrixMatrixMatrixmatrixmatrix mit diesem Wert überschrieben. Andernfalls wird die Diagonale mit den Elementen der Matrix VectorVectorVectorVectorvectorvector überschrieben.

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

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

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

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

MatrixIDMatrixIDMatrixIDMatrixIDmatrixIDmatrix_id (input_control, Zustand wird modifiziert)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix Handle der Eingabematrix.

VectorIDVectorIDVectorIDVectorIDvectorIDvector_id (input_control)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

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

DiagonalDiagonalDiagonalDiagonaldiagonaldiagonal (input_control)  integer HTupleintHTupleHtuple (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_matrixSetDiagonalMatrixSetDiagonalMatrixSetDiagonalMatrixset_diagonal_matrix den Wert TRUE. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_matrixcreate_matrixCreateMatrixCreateMatrixCreateMatrixcreate_matrix

Nachfolger

get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrixget_full_matrix, get_value_matrixget_value_matrixGetValueMatrixGetValueMatrixGetValueMatrixget_value_matrix

Siehe auch

get_diagonal_matrixget_diagonal_matrixGetDiagonalMatrixGetDiagonalMatrixGetDiagonalMatrixget_diagonal_matrix

Modul

Foundation