-
"Switch inversé" ?
Bonsoir les gens,
Je cherche comment réaliser une sorte de "multi-port switch inversé". Ca serait un bloc avec 2 entrée (un index et une valeur) et N sorties. Suivant l'index, c'est la Nè sortie qui prend la valeur d'entrée.
En pseudo-code, ca donne ca comme comportement :
Si index = 1, alors sortie_1=valeur
sinon si index = 2 alors sortie_2=valeur
sinon si index=3 alors sortie_3=valeur
...
sinon si index=N alors sortie_N=valeur
Ca existe ce genre de bloc ou pas ? Si non, comment procéderiez vous ? J'ai pensé utiliser une fonction matlab qui traduit le pseudo-code que j'ai écrit, mais les fonctions matlab ne sortent qu'une variable, alors je dois ajouter un demux en sortie de cette fonction.
Merci de votre aide
-
1 pièce(s) jointe(s)
Voici qui devrait faire l'affaire.
Je ne sais pas quelle valeur tu veux attribuer aux autres sorties, mais dans mon exemple, c'est 0.
Les variables "value", "index", et "n" sont définies dans le workspace Matlab, et le bloc "assignment" se charge d'assigner la valeur value aux éléments indicés par index (ce peut être un vecteur d'indices). Les autres éléments de ton vecteur de sortie (de taille n identique à l'entrée) ont la valeur de celui d'entrée (en l'occurence 0).
J'espère que ça te parait clair.
-
@nofasc95: c'est exactement cela !
Merci beaucoup