# LGF_MatrixTranspose (FC / 3.0.1)

Übersicht

Autor: Siemens Digital Industry

## Kurzbeschreibung

Die Funktion transponiert eine Matrix vom Datentyp `ARRAY[*,*] of LREAL`.

Bedingung: Eingangsmatrix (m x n) = Ausgangsmatrix (n x m).
Eine Matrix wird transponiert, indem man aus den Zeilen Spalten macht.

A = \begin{bmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{m1} & \cdots & a_{mn} \end{bmatrix} ; A^T = \begin{bmatrix} a_{11} & \cdots & a_{m1} \\ \vdots & \ddots & \vdots \\ a_{1n} & \cdots & a_{mn} \end{bmatrix}

Hinweis
  Beachten Sie, dass die Anzahl der Zeilen der Eingangs-Matrix gleich der Anzahl der Spalten der Ausgangs-Matrix sein muss. Die Anzahl der Spalten der Eingangs-Matrix muss gleich der Anzahl der Zeilen der Ausgangs-Matrix sein.

### Baustein Schnittstelle

| LGF_MatrixTranspose (FC) |
--- | --- | ---
|  |  |  |  | Ret_Val |  |  | Void
|  |  |  |  | error |  |  | Bool
|  |  |  |  | status |  |  | Word
Array[*, *] of LReal |  |  | matrix |  |  | Array[*, *] of LReal
Array[*, *] of LReal |  |  | matrixTranspose |  |  | Array[*, *] of LReal

### Output Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
Ret_Val | Void | Void - Funktion hat keinen Rückgabewert
error | Bool | FALSE: Kein Fehler TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten
status | Word | 16#0000-16#7FFF: Status des FB 16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle)

### In/Out Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
matrix | Array[*, *] of LReal | Zu transponierende Matrix
matrixTranspose | Array[*, *] of LReal | Transponierte Matrix

### Status & Error Meldungen

Code / Wert | Bezeichner / Beschreibung
--- | ---
16#0000 | STATUS_NO_ERROR Abarbeitung ohne Fehler beendet
16#8200 | ERR_MATR1_LOWBOUND_ROWS_RESMATR_LOWBOUND_COLUMNS Error: Untere grenze Zeilen(Dim1) Matrix1 und untere grenze Spalten(Dim2) Ergebnis Matrix unterschiedlich.
16#8201 | ERR_MATR1_LOWBOUND_COLUMNS_RESMATR_LOWBOUND_ROWS Error: Untere grenze Spalten(Dim2) Matrix1 und untere grenze Zeilen(Dim1) Ergebnis Matrix unterschiedlich.
16#8202 | ERR_MATR1_UPPBOUND_ROWS_RESMATR_UPPBOUND_COLUMNS Error: Obere grenze Zeilen(Dim1) Matrix1 und obere grenze Spalten(Dim2) Ergebnis Matrix unterschiedlich.
16#8203 | ERR_MATR1_UPPBOUND_COLUMNS_RESMATR_UPPBOUND_ROWS Error: Obere grenze Spalten(Dim2) Matrix1 und obere grenze Zeilen(Dim1) Ergebnis Matrix unterschiedlich.

## Änderungshistorie

Version & Datum | Änderungsbeschreibung
--- | ---
| 1.0.0 | Siemens Industry Online Support
| 19.08.2015 | First released version
| 1.0.1 | Siemens Industry Online Support
| 02.01.2017 | Upgrade: TIA Portal V14 Update 1
| 2.0.0 | Siemens Industry Online Support
| 06.02.2017 | Functionality using Array[*,*]
| 2.0.1 | Siemens Industry Online Support
| 17.08.2018 | Upgrade: TIA V15 Update 2
| 2.0.2 | Siemens Industry Online Support
| 23.11.2018 | Upgrade: TIA V15.1
| 2.0.7 | Simatic Systems Support
| 13.11.2019 | Regions, comments and constants are added Moved matrices to IO field.
| 3.0.0 | Simatic Systems Support
| 23.04.2020 | Set version to V3.0.0, harmonize the version of the whole library
| 3.0.1 | Simatic Systems Support
| 02.02.2020 | Insert documentation