IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Changement de variable immédiate


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut Changement de variable immédiate
    Bonjour,

    J'utilise Matlab depuis plusieurs années et là je me retrouve face à une situation que je n'arrive à expliquer. Mon système étant un peu compliqué, je vais vous le décrire de manière synthétique juste pour comprendre le problème (en réalité, tout est relié à RedPitaya) :

    J'ai une fonction signal_pulse qui en entrée prend les variables A et F, pour amplitude et fréquence, et en sortie me plot un tableau avec les valeurs d'un signal pulse correspondant aux critères d'entrée.
    Dans mon script, j'écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A = input('entrer une amplitude');
    F = input('entrer une fréquence');
    Y=signal_pulse(A,F);
    plot(Y)
    Et là, en executant le script, j'entre A et F MAIS j'obtiens le signal mais avec l'amplitude et la fréquence correspondants à l'execution de mon script précédent !
    En gros, mes variables sont décalées d'un script...
    Je ne comprend pas ce phénomène...

    Si quelqu'un pouvait me pointer du doigt mon erreur (surement grossière), je lui en serais très reconnaissant.

    Hubert

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour,
    Fais-nous voir ta fonction.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par phryte Voir le message
    Bonjour,
    Fais-nous voir ta fonction.
    Voici ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    function BLM3SYSGeneratePulse(A,F)
     
    %% Generate Signal pulse 
     
    %% Connection with BLM3SYS
     
    tcpipObj=tcpip(Initials.IP, Initials.port, 'Timeout', 100);
     
    fopen(tcpipObj);
    tcpipObj.Terminator = 'CR/LF';
     
    %%
     
    fprintf(tcpipObj,'LBK:GEN:VC');
    fprintf(tcpipObj,['LBK:GEN:AMP ',Initials.AmpIn]);
     
     
    %% The example generate sine bursts every 0.5 seconds indefinety
    %fprintf(tcpipObj,'GEN:RST');
     
    fprintf(tcpipObj,['SOUR1:FUNC ','SAWU']);         % {SINE, SQUARE, TRIANGLE, SAWU, SAWD, PWM, ARBITRARY, DC, DC_NEG}
    fprintf(tcpipObj,['SOUR1:FREQ:FIX ','F']);     % Set frequency of output signal
    fprintf(tcpipObj,['SOUR1:VOLT ','A']);            % Set amplitude of output signal
     
     
    fprintf(tcpipObj,'SOUR1:TRIG:IMM');          % Set generator trigger to immediately
    fprintf(tcpipObj,'OUTPUT1:STATE ON');        % Set output to ON
     
     
    %% Close connection with Red Pitaya
     
    fclose(tcpipObj);
    end

    C'est des commandes SCPI, et ça va ordonner à RedPitaya de générer une pulse. Je la visualise ensuite directement sur un oscilloscope.

    Merci

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour,

    Et signal_pulse ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par phryte Voir le message
    Bonjour,

    Et signal_pulse ?
    Il s'agit de "signal_pulse" ci-dessus, je l'ai appelée comme ça dans mon poste pour vous faciliter la tache

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour,
    Je ne vois pas d'erreurs.
    Tu devrais mettre clear en tête du PP.

  7. #7
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 313
    Points : 52 939
    Points
    52 939
    Par défaut
    Ne serait-ce pas plutôt ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    A = input('entrer une amplitude', 's');
    F = input('entrer une fréquence', 's');
    Et :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fprintf(tcpipObj, ['SOUR1:FREQ:FIX ', F]);     % Set frequency of output signal
    fprintf(tcpipObj, ['SOUR1:VOLT ', A]);            % Set amplitude of output signal
    Ou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    A = input('entrer une amplitude');
    F = input('entrer une fréquence');
    Et :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fprintf(tcpipObj, 'SOUR1:FREQ:FIX %d', F);     % Set frequency of output signal
    fprintf(tcpipObj, 'SOUR1:VOLT %d', A);            % Set amplitude of output signal
    En supposant que A et F sont des valeurs entières dans ce dernier cas.

Discussions similaires

  1. Changement de variable de session onClick
    Par milach dans le forum Langage
    Réponses: 2
    Dernier message: 27/08/2007, 16h04
  2. Traduction d'un outil (changement de variable)
    Par new-dmx dans le forum Langage
    Réponses: 9
    Dernier message: 12/07/2007, 09h54
  3. Réponses: 20
    Dernier message: 12/06/2007, 10h11
  4. [VBA-E]Comment lancer une procedure lors d'un changement de variable ?
    Par RogerLapin dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/03/2007, 09h56
  5. Changement de variable
    Par Pchiter dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/08/2005, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo