Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - Русский - 日本語
Aide de Scilab >> Xcos > palettes > Palette Opérations matricielles > MATMUL

MATMUL

Multiplication de matrice

Aperçu

Description

Le bloc MATMUL calcule le produt d'une matrice d'entrée par une matrice ou un scalaire.

Quand le paramètre Multiplication rule est initialisé à :

  • 1, (produit matriciel) le nombre de lignes de la première matrice doit être égal au nombre de colonnes de la seconde matrice. La sortie est une matrice dont le nombre de lignes est égal à celui de la première matrice et le nombre de colonnes égal à celui de la deuxième matrice.

  • 2, (produit élément par élément) les matrices doivent être de mêmes dimensions. La sortie est une matrice de mêmes dimensions que les matrices d'entrée.

  • 3, (produit par un scalaire) la sortie est une matrice de mêmes dimensions que la matrice d'entrée.

Pour des entrées entières lors d'un dépassement de capacité, le bloc donne trois formes de résultats :

1- Un résultat normal non saturé. Par exemple, si le type est int8 et le résultat 128, la valeur de sortie du bloc sera -128.

2- Un résultat saturé. Pour l'exemple précédent la valeur de sortie du bloc sera 127

3- Un message d'erreur prévenant l'utilisateur du dépassement de capacité.

L'utilisateur peut sélectionner l'une de ces trois formes en mettant le champ Do on Overflow à 0,1 ou 2.

Boîte de dialogue

  • Datatype(1=real double 2=Complex)

    Il indique le type de la sortie. Il supporte seulement les types double (1) et complexe (2). Si on entre une autre valeur dans ce paramètre, Xcos affiche le message "Datatype is not supported".

    Propriétés : Type 'vec' de taille 1.

  • Multiplication rule (1= * 2= .* )

    Sélectionne la régle de mutiplication. Voir la description pour plus d'informations

    Propriétés : Type 'vec' de taille 1.

  • Do on Overflow(0=Nothing 1=Saturate 2=Error)

    Quand ce paramètre est mis à zéro le résultat est similaire à la multiplication normale de deux matrices entières. Quand il est à 1, lors d'un dépassement de capacité le bloc sature le résultat. Quand il est à 2, lors d'un dépassement de capacité un dialogue de message d'erreur est affiché.

    Pour des entrées de type double ou complexe ce paramètre est ignoré.

    Propriétés : Type 'vec' de taille 1.

Exemple

A=[1 2 3;4 5 6]
B=[9 8 7 6;5 4 3 2;9 7 5 3]
y=[46 37 28 19;115 94 73 52]

Propriétés par défaut

  • always active: non

  • direct-feedthrough: oui

  • zero-crossing: non

  • mode: non

  • regular inputs:

    - port 1 : size [-1,-2] / type 1

    - port 2 : size [-2,-3] / type 1

  • regular outputs:

    - port 1 : size [-1,-3] / type 1

  • number/sizes of activation inputs: 0

  • number/sizes of activation outputs: 0

  • continuous-time state: non

  • discrete-time state: non

  • object discrete-time state: non

  • name of computational function: matmul_m

Fonction d'interfaçage

  • SCI/modules/scicos_blocks/macros/MatrixOp/MATMUL.sci

Fonctions de calcul

  • SCI/modules/scicos_blocks/src/c/matmul_m.c

  • SCI/modules/scicos_blocks/src/c/matzmul_m.c

  • SCI/modules/scicos_blocks/src/c/matmul2_m.c

  • SCI/modules/scicos_blocks/src/c/matzmul2_m.c

Scilab Enterprises
Copyright (c) 2011-2015 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jun 15 08:31:14 CEST 2016