Bonjour,
Devant faire exécuter à Simulink (v7) des choses qu'il ne sait (apparemment) pas gérer (à tout hasard sait-on jamais : simulink sait-il gérer un changement de temps, cad qu'une partie du schéma bloc sera à considérer dans une autre échelle de temps tau, définie à partir de certaines variables et du temps t ?), je vais devoir coder moi même de grosses parties du schéma bloc.
Je me heurte à certains problèmes, dont voici les deux plus gonflants :
2) [Non Résolu] Un peu plus délicat : je souhaiterai récupérer des variables scalaires au cours du temps et les modifier, mais là encore impossible. Pour faire simple, disons que je veux coder une bête fonction comme ça:
Mon problème est donc de stocker quelque part la variable y au "temps précédent" (ce que je note y_n). J'ai bien essayé avec un "to workspace" et "from workspace", mais franchement c'est galère et pour le moment j'ai laissé tomber cette option. N'y a-t-il pas un moyen *simple* pour stocker un scalaire autre que stocker toute une matrice avec tous les temps t et la variable à tous les temps t corresponsants etc ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 function y_n_plus_1=toto(y_n,u) y_n_plus_1=y_n+u;
1) [Résolu] Je n'arrive pas à utiliser une fonction "classique" écrite dans un .m comme bloc autrement qu'en utilsant un bloc "embedded Matlab function" et en copiant collant la fonction dedansPourtant, je sens bien que le bloc "Matlab Fcn" doit etre fait pour ça, mais impossible de l'utiliser, je mets le nom de la fonction .m dans "matlab function", elle a 4 entrées donc je mets un mux, elle a une sortie donc pas de problème, mais quand je lance, il me dit
En gros, les arguments de ma fonction ne sont pas définis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Error evaluating MATLAB function in 'syslin_BF_essai/MATLAB Fcn'. MATLAB error message: Input argument "enp1" is undefined.
Merci d'avance !
Partager