Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
MATMUL
Multiplication de matrice
Aperçu
Contenu
Palette
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
Voir aussi
Auteurs
Fady NASSIF INRIA
Alan Layec INRIA
<< MATLU | Palette Opérations matricielles | MATPINV >> |