Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
MATDIAG
Create Diagonal Matrix
Block Screenshot
Contents
Description
The MATDIAG block create a diagonal matrix from a 1D vector. If the input is a Mx1 vector than the output is an MxM matrix.
The equivalent function of MATDIAG in Scilab is diag(vm) with vm a column vector.
Parameters
Datatype (1=real double 2=Complex)
It indicates the type of the output. It support only the two types double (1) and complex (2). If we input another entry in this label xcos will print the message "Datatype is not supported".
Properties : Type 'vec' of size 1.
Default properties
always active: no
direct-feedthrough: yes
zero-crossing: no
mode: no
regular inputs:
- port 1 : size [-1,1] / type 1
regular outputs:
- port 1 : size [-1,-1] / type 1
number/sizes of activation inputs: 0
number/sizes of activation outputs: 0
continuous-time state: no
discrete-time state: no
object discrete-time state: no
name of computational function: mat_diag
Examples
If the input of the block is U = ones(5, 1) then the output is: y = [1 0 0 0 0 ; 0 1 0 0 0 ; 0 0 1 0 0 ; 0 0 0 1 0 ; 0 0 0 0 1]
Diagonal example:
Interfacing function
SCI/modules/scicos_blocks/macros/MatrixOp/MATDIAG.sci
Computational function
SCI/modules/scicos_blocks/src/c/mat_diag.c
SCI/modules/scicos_blocks/src/c/matz_diag.c
Report an issue | ||
<< MATDET | Matrix_pal | MATDIV >> |