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

Signal Discussion :

Second Ordre Matlab


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2014
    Messages : 9
    Par défaut Second Ordre Matlab
    Bonjour,

    Je souhaiterais simuler sous matlab un second ordre avec en entrée un signal de type échelon décalé mais ma connaissance de matlab étant reinstreinte je me retrouve bloqué.

    Voici mon code:
    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
     
    K=380;                                                     %Gain statique
    Tp=30;                                                     %Temps de réponse
    w0= (2*pi)/Tp ;                                           %Pulsation propre
    D=10;                                                     %Dépassement
    z=(-log(D/K))/(sqrt(pi^2+log(D/K)^2));                    %Amortissement
    t=0:0.1:140;                                             %Base de temps
     
    num=[K*w0^2];
    den=[1 (2*z*w0) (w0^2)];
     
    v=(length(t)+1)/2                              
    x=(length(t))/2
    input=[zeros(1,x) ones(1,v)];                          %Génération de mon signal échelon
     
    sys = tf(num,den,);
    Mais voila je ne sais pas comment solicité mon système par rapport à mon entrée.

    Merci de me venir en aide

    Nicolas

  2. #2
    Membre émérite
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2014
    Messages : 9
    Par défaut
    Merci de ta réponse, j'ai résolu mon problème.

    Maintenant j'aimerais pouvoir concaténer deux fonctions , je m'explique:

    Par exemple de 0 a t=33s la fonction prend une valeur continue et ensuite de t=33 s à la fin il prenne mon second ordre?

    Aurait tu une solution ?

    Nicolas

  4. #4
    Membre émérite
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Par défaut
    De rien

    Hmm, ton explication manque de précision et de clarté : il est donc difficile de te comprendre.

    Essaye de donner plus de détail en expliquant simplement mais rigoureusement stp. Là, selon ce que tu souhaites réellement faire et de ce que tu sais/ne sais pas potentiellement faire, je vois une dizaine de solutions, et je n'ai pas trop envie de toutes les exposer...

    Au pire, si tu as déjà un bout de code, donne-le : des fois, ça peut aider à comprendre rapidement.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2014
    Messages : 9
    Par défaut
    J'ai besoin de modéliser un fonction particulière.

    Je vais de la décrire, y=0 de t [0,25]
    y=250 de t [25 40]
    de t [40 a la fin] la courbe prend la forme de mon second ordre défini précédemment

    de long discours ne vale pas une image




    J'espere que cela est plus clair pour toi.

    En concernant le code je ne sais pas trop par ou partir j'ai échelonné mon temps t=0:0.1:140
    et creer un échelon pour la fonction du second ordre

  6. #6
    Membre émérite
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Par défaut
    y=0 de t [0,25]
    y=250 de t [25.1 40]
    de t [40.1 a la fin] la courbe prend la forme de mon second ordre défini précédemment
    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
    Z = step(sys);
     
    dt = 0.1;
     
    t1 = [0:dt:25];
    indice_t1 = [1:size(t1)];
    y(indice_t1) = 0;
     
    t2 = [25+dt:dt:40];
    indice_t2 = [indice_t1(end)+1:indice_t1(end)+size(t2)];
    y(indice_t2) = 250;
     
    t_fin = 100;
    t3 = [40+dt:dt:140];
    indice_t3 = [indice_t2(end)+1:indice_t2(end)+size(t3)];
    y(indice_t3) = Z;
     
    t = [t1 t2 t3];
    Concaténation

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/05/2009, 19h46
  2. [ode45] Résoudre une équation seconde ordre
    Par nidjzaf dans le forum MATLAB
    Réponses: 7
    Dernier message: 05/04/2009, 20h34
  3. Equation intégrale de Fredholm du second ordre
    Par greghor dans le forum MATLAB
    Réponses: 12
    Dernier message: 07/03/2009, 17h22
  4. Réponses: 2
    Dernier message: 22/11/2007, 14h58
  5. Equation différentielle du second ordre
    Par moustiqu3 dans le forum MATLAB
    Réponses: 1
    Dernier message: 21/05/2007, 09h38

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