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 :

méthode de gradient


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Par défaut méthode de gradient
    bonjour ,
    j'ai essayé de programmer la methode de gradient pour l'identification de retard mais j'ai pas trouvé des resultats voulu ,et j'ai pas compri le lieu de l'erreur
    merci d'avance

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    %%%%%%%%%%%%%%%%methhode de gradient%%%%%%%%%
    close all;
    clear all;
    clc
    %%%%identification%%%%
    load com.mat
    load sva.mat
    u=coma;
    e=seq;
    B=[0 0.2 0.02];
    A=[1 -0.8 -0.04];
    C=[1 0.5];
    d=0;som1=0;som2=0;xsi=[];
    F=1000*eye(5)
    teta=[0 0 0 0 0]';
    d=0;m=0;retrec=[]
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%saisie de y
    for k=1:6
        y(k)=0;
    end
    for k=6:100
        y(k)=-A(2)*y(k-1)-A(3)*y(k-2)+B(2)*u(k-4)+B(3)*u(k-5)+e(k)+C(2)*e(k-1);
    end
    for k=101:200
        y(k)=-A(2)*y(k-1)-A(3)*y(k-2)+B(2)*u(k-5)+B(3)*u(k-6)+e(k)+C(2)*e(k-1);
    end
    for k=201:300
        y(k)=-A(2)*y(k-1)-A(3)*y(k-2)+B(2)*u(k-6)+B(3)*u(k-7)+e(k)+C(2)*e(k-1);
    end
    plot(y);hold on
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    ret=0;
    % ye(1)=0;
    % ye(2)=0;
    % ye(3)=0;
    TET=[];
    retent=[];
    for k=1:5
        ye(k)=0
    end
    for k=ret+3:300
        phi=[-y(k-1) -y(k-2) u(k-1-ret) u(k-2-ret) e(k-1)]';
        teta=teta+((F*phi)/(1+(phi'*F*phi)))*(y(k)-phi'*teta);
        F=F-((F*phi*phi'*F)/(1+(phi'*F*phi)));
        ye(k)=teta(1)*y(k-1)+teta(2)*y(k-2)+teta(3)*u(k-1-ret)+teta(4)*u(k-2-ret)+e(k)+teta(5)*e(k-1);
        TET=[TET teta]
        xsip=y(k)-ye(k);
        xsi=[xsi xsip];
        som1=som1+xsip*(ye(k)-ye(k-1));
        som2=som2+(0.1+ye(k)-ye(k-1));
        m=(1-0.5)/(som2*som2);
        d=d-m*som1;
        retrec=[retrec d];
        ret=floor(d);
        retent=[retent ret];
    end
    plot(ye,'-r')
    retrec
    figure(2)
    plot(retrec);hold on ;
    plot(retent)

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Citation Envoyé par sabbour Voir le message
    mais j'ai pas trouvé des resultats voulu ,et j'ai pas compri le lieu de l'erreur
    C'est à dire ?

    Quels résultats attends-tu et quels résultats as-tu obtenus ?
    Quels sont les différences ?

    A moins que MATLAB ne retourne un message d'erreur ?

    C'est à toi de nous en dire plus...

Discussions similaires

  1. Méthode du Gradient Conjugué
    Par Carew dans le forum Mathématiques
    Réponses: 10
    Dernier message: 15/01/2013, 12h51
  2. [Optimisation] Méthodes des gradients
    Par plegat dans le forum Mathématiques
    Réponses: 0
    Dernier message: 22/08/2008, 09h16
  3. Réponses: 17
    Dernier message: 06/02/2008, 19h44
  4. Programmation de la méthode du gradient conjugué
    Par Boule de coco dans le forum MATLAB
    Réponses: 11
    Dernier message: 18/01/2008, 22h12
  5. Méthode du gradient
    Par sof007 dans le forum Fortran
    Réponses: 2
    Dernier message: 07/06/2007, 11h18

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