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 :

methode de variable regression estiamtion


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 methode de variable regression estiamtion
    bonjour ,
    je veux identifier le retard en se basant sur la methode de "variable regression estimation ;cette methode se base sur le critere suivant

    E(t,d)= (1/t )*somme de j=0:t[u(j-d)(y(j+1)-y(j))]
    Retrouver de nouveau la valeur de E tel que
    E(t+1,d)=λE(t,d)+u(t-d)*[y(t+1)-y(t) ]
    Estimer le retard d ̂ correspond au maximum de E.
    E(t+1,d ̂ )=max⁡[E(t+1,d) ],∀d ϵ [d_min ,d_max]



    dans ce cas j'ai pri d=3 pour un premier intervalle et d=4 pour le deuscieme
    le probleme que les resultat obtenu est que le retard ne stabilise pas au niveau de ces deux valeurs

    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
    %%%variable regression estimation%%%
    close all;
    clear all;
    clc
    %%%%identification%%%%
    teta=[0 0 0 0]';tetatotal=[];ret=[];
    p=1000*eye(4);d=1;
    load com.mat
    u=coma;
    for k=1:5
        y(k)=0;
    end
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    B=[0 0.2 0.02];
    A=[1 -0.8 -0.04];
    for k=6:105
        y(k)=-A(2)*y(k-1)-A(3)*y(k-2)+B(2)*u(k-4)+B(3)*u(k-5);
    end
    for k=106:206
        y(k)=-A(2)*y(k-1)-A(3)*y(k-2)+B(2)*u(k-6)+B(3)*u(k-7);
    end
     
    for k=1:3
        yr(k)=0;
    end
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    ET1=[];
    ret=[];
    E1=0;
    %%%%%%%%%%%%%%   recherche de retard      %%%%%%%%%%%
     
    for k=4:205
        fi=[-y(k-1) -y(k-2) u(k-d-1) u(k-d-2)];
        ki=p*fi'*inv((0.1+fi*p*fi'));
        p=((eye(4)-ki*fi)*p)/0.1;
        teta=teta+ki*(y(k)-fi*teta);
        yr(k)=-teta(1)*y(k-1)-teta(2)*y(k-2)+teta(3)*u(k-d-1)+teta(4)*u(k-d-2);
        ET1=[];
        s=1;
        while (s<11 & k>s+2)
            for i=2+s:k-1
                E1=E1+(1/(k-1))*(u(i-s)*(y(i+1)-y(i)));
            end
            E1=0.1*E1+u(k-s-1)*(y(k)-y(k-1));
            ET1=[ET1 E1];
            s=s+1;
        end
        maxx=ET1(1);
        for i=1:length(ET1)
            if (ET1(i)>maxx)
                maxx=ET1(i);
                d=i;
            end
        end
        ret=[ret d];
    end
    figure(2)
    plot(ret)
    figure(1)
    plot(yr); hold on
    plot(y,'-r')
    Images attachées Images attachées  

Discussions similaires

  1. methode elastic net regression
    Par matrix2008 dans le forum Images
    Réponses: 2
    Dernier message: 08/12/2011, 20h46
  2. Appel de methode dont le nom est dans une variable
    Par osopardo dans le forum Langage
    Réponses: 1
    Dernier message: 24/11/2005, 20h56
  3. Réponses: 13
    Dernier message: 15/11/2005, 15h47
  4. [C#] Variables accessibles à toutes les méthodes
    Par defacta dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/05/2004, 11h20
  5. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 17h03

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