2010-11-25 27 views
0

Hé les gars, je ne sais pas si je suis en train de formuler mon problème, mais j'ai créé une interface graphique, un fichier m et un simulink. Initialement, j'ai eu les variables allant du fichier m dans le Simulink, mais maintenant je veux que l'utilisateur puisse changer les variables afin que j'ai créé une interface graphique. Je reçois toujours une erreur, je ne pense pas que les variables vont du fichier m GUI au modèle simulink plus. Je me souviens que vous deviez définir quelque chose pour le faire, comme simset ou setcurrentsim ou quelque chose mais je ne m'en souviens pas, alors je me demandais si quelqu'un pouvait m'aider avec celui-ci?MATLAB: Comment obtenir des variables du fichier m-GUI dans le modèle Simulink

+1

Veuillez ajouter le message d'erreur à votre message. – zellus

+0

Je ne suis pas totalement sûr de votre problème, mais je * pense * qu'il s'agit probablement d'un doublon de cette question: [Comment obtenir les données d'un bloc Simulink dans une interface graphique MATLAB?] (Http: // stackoverflow. com/questions/1245173/how-do-i-get-données-à partir d'un simulink-bloc-dans-un-matlab-gui). Même si ce n'est pas un doublon, je pense qu'il y a des informations utiles qui peuvent vous guider. – gnovice

Répondre

0

Utilisez la commande set_param.

Il devrait ressembler à ceci:

set_param('model name/block name','block type',string); 

Dans mon code, j'ai un modèle appelé Pitch_Control avec un bloc de gain appelé pitch capteur de fréquence. k2 est un nombre entier.

set_param('Pitch_Control/Pitch Rate Sensor','Gain',num2str(k2)); 

J'espère que cela aide.

0

set_param fonctionne, mais il s'agit d'une méthode assez spécifique qui ne doit être utilisée que pour modifier les paramètres de bloc et non pour transmettre des paramètres.

Ce que vous cherchez est assignin. Vous allez avec: assignin('base','Parametername',value); Depuis que Simulink importe des variables de l'espace de travail de base, il fait la même chose que votre ancien script aurait fait.