Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - English


MATDIAG

Create Diagonal Matrix

Block Screenshot

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

See also

  • EXTTRI — Triangular or Diagonal Extraction
  • diag — diagonal including or extracting
Report an issue
<< MATDET Matrix operation palette MATDIV >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Oct 24 14:30:08 CEST 2023