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 :

l'acp par intervalle en diagnostic


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2011
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 92
    Points : 2
    Points
    2
    Par défaut l'acp par intervalle en diagnostic
    Bonjour,voila l'article que je suis entrain de simuler,http://perso.ensem.inpl-nancy.fr/Jos...lita_ragot.pdf
    et voila le programme que j'ai fais:


    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
    62
    63
    64
    65
    66
    67
    N=100;k=1:N; ndim=7;
    v1(k)=rand(1,100);
    v2(k)=rand(1,100);
    v3(k)=rand(1,100);
    %LES VARIABLES
    x1=0.4*v1(k)+sin(k/N);
    x2=v2(k)-2*cos(k/4);
    x3=0.2*v3(k)-1;
    x4=x1+x2;
    x5=x2+x3;
    x6=2*x1+x3;
    x7=x4+x5;
    x=[x1' x2' x3' x4' x5' x6' x7'];
    %AJJOUT DES DEFAUTS
    x1(:,8:15)=x1(:,8:15)+3;
    x3(:,34:41)=x3(:,34:41)+3;
    x5(:,58:65)=x5(:,58:65)+3;
    %PLOTER LES VARIABLES
    subplot(711);plot(x1);axis([0 100 -4 4]);
    subplot(712);plot(x2);axis([0 100 -4 4]);
    subplot(713);plot(x3);axis([0 100 -4 4]);
    subplot(714);plot(x4);axis([0 100 -4 4]);
    subplot(715);plot(x5);axis([0 100 -4 4]);
    subplot(716);plot(x6);axis([0 100 -4 4]);
    subplot(717);plot(x7);axis([0 100 -4 4]);
    %MATRICE DE CORRELATION DES DONNEES NON BRUITES
    a=x'*x;
    %VALEURS ET VECTEURS PROPRES DE LA ATRICE DE CORELATION
    [v,lamda]=eig(a);
    %DALTA DE X,LE BRUIT
    dalta=rand(100,7);
    %AJJOUT DU BRUIT
     X=x+dalta;
    %NOUVELLE MATRICE DE DONNEES
    X1=X(1,:);
    X2=X(2,:);
    X3=X(3,:);
    X4=X(4,:);
    X5=X(5,:);
    X6=X(6,:);
    X7=X(7,:);
    X=[X1' X2' X3' X4' X5' X6' X7'];
    %SENSIBILITE DE LA MATRICE DE CORRELATION AU BRUIT(DALTA1=DALTA DE A
    dalta1=dalta'*x+x'*dalta+dalta'*dalta;
    %NOUVELLE MATRICE DE CORRELATION
    A=a+dalta1;
    i=1:7;
    %DALTA3=DALTA DE lamda
    dalta3(i,:)=v(i,:)'*dalta1*v(i,:);
    %MINIMUM ET LE MAXIMUM DES VALEURS PROPRES
    LAMDA=lamda+dalta3;
    mLAMDA=max((LAMDA));
    nLAMDA=min((LAMDA));
    %DALTA4=DALTA DE V
    w=inv([a-lamda*ones(7,7) -v;v' zeros(7,7)])*[-dalta1*v;zeros(7,7)];
    dalta4=w(1:7,:);
    %LE MINIMUM ET LE MAXIMUM DES VECTEURS PROPRES
    V=v+dalta4;
    for i=1:7;
         j=1:7;
    nV(i,j)=min(V(i,j));
     
    end 
     for i=1:7;
         j=1:7;
    mV(i,j)=max(V(i,j));
     end
    mais je sais pas pour quoi les colonnes du minimum et du maximum des vecteurs propres(de la ligne59 au 65) sont identique

  2. #2
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    salut

    a priori v(i,j) est un scalaire donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v(i,j) == min(v(i,j)) == max(v(i,j))
    Fabien

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    X1=X(1,:);
    X2=X(2,:);
    X3=X(3,:);
    X4=X(4,:);
    X5=X(5,:);
    X6=X(6,:);
    X7=X(7,:);
    X=[X1' X2' X3' X4' X5' X6' X7'];
    ou plus simplement : X = X(1:7,:).';

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2011
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 92
    Points : 2
    Points
    2
    Par défaut
    voici le résultat de nV:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    nV =
     
       -0.5648   -0.5648   -0.5648   -0.5648   -0.5648   -0.5648   -0.5648
       -0.4168   -0.4168   -0.4168   -0.4168   -0.4168   -0.4168   -0.4168
       -0.6090   -0.6090   -0.6090   -0.6090   -0.6090   -0.6090   -0.6090
       -0.4808   -0.4808   -0.4808   -0.4808   -0.4808   -0.4808   -0.4808
       -0.4334   -0.4334   -0.4334   -0.4334   -0.4334   -0.4334   -0.4334
       -0.3274   -0.3274   -0.3274   -0.3274   -0.3274   -0.3274   -0.3274
       -0.0842   -0.0842   -0.0842   -0.0842   -0.0842   -0.0842   -0.0842
    on remarque que la même colonne est entrain de ce répéter,et je sais pas pour quoi ???

  5. #5
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Bonjour,
    peux tu nous montrer la nouvelle version de ton code, qui prend en compte les remarques de le fab et de Winjerome?

  6. #6
    Invité
    Invité(e)
    Par défaut
    As-tu pris en compte la remarque de le fab par rapport à ces lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i=1:7;
        j=1:7;
        nV(i,j)=min(V(i,j));
    end
    ?
    @le fab : j=1:7; donc V(i,j) est bien un vecteur et non un simple scalaire.
    @karika : Tu calcules avec ceci le maximum de chaque ligne de V, unique valeur sur chaque ligne donc que tu recopies sur chaque colonne de nV nV(i,j)=min(V(i,j)); avec j=1:7;

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2011
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 92
    Points : 2
    Points
    2
    Par défaut
    merci beaucoup,voila ce que je souhaite faire exactement,et dites moi si c'est possible ou non.
    Je veux que chaque composante du vecteur V auras un minimum et un maximum,c-à-d comme le vecteur V et de dimension 7*7 alors il ya 49 composantes,donc je souhaite avoir 49 valeur minimum et 49 valeur maximum,par exemple:
    la composante V(1,1) aura une valeur minimum et une valeur maximum,et pour la composante V(1,2) aussi;et ainsi de suite pour toutes les composantes du vecteur V.
    merci.

  8. #8
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    Salut
    c'est possible si tu rajoutes une dimension à V
    V(i,j,1) contient le minimum et V(i,j,2) le maximum par exemple
    mais V(i,j) ne peux pas contenir deux valeurs

    sinon tu peux aussi faire un tableau de structure comme ceci:
    V(i,j).min et V(i,j).max

    Fabien

  9. #9
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Bonjour
    Citation Envoyé par karika Voir le message
    il ya 49 composantes,donc je souhaite avoir 49 valeur minimum et 49 valeur maximum
    J'ai du mal à te suivre, tu cherches le minimum et le maximum de quoi? Pour une unique composante (= 1 scalaire), tu auras maximum = minimum = composante.

  10. #10
    Candidat au Club
    Inscrit en
    Mai 2011
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 92
    Points : 2
    Points
    2
    Par défaut
    Je suis en train de simuler cet article http://perso.ensem.inpl-nancy.fr/Jos...lita_ragot.pdf, et comme je suis débutant en MATLAB j'ai besoin de quelqu'un qui peut m'orienter ; si vous le pouviez je vous serais très reconnaissant

  11. #11
    Candidat au Club
    Inscrit en
    Mai 2011
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 92
    Points : 2
    Points
    2
    Par défaut
    bonjour,
    v(i,j) min = infk v(i,j) + δ(vi,j) (k)
    v(i,j) max = supk v(i,j) + δ(vi,j) (k)
    comment peut étre le code matlab de ces 2 équations???merci

Discussions similaires

  1. Regroupement par intervalle < 5min
    Par prophete3d dans le forum Langage SQL
    Réponses: 12
    Dernier message: 06/09/2007, 13h55
  2. Requete de regroupement par intervalle
    Par tonio-lille dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 26/01/2007, 16h22
  3. regroupement par intervalle de 24h
    Par habasque dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/11/2006, 17h39
  4. regroupement par intervalle de 24h
    Par habasque dans le forum Oracle
    Réponses: 2
    Dernier message: 08/11/2006, 10h49
  5. selection des données par intervalle
    Par abdou.sahraoui dans le forum Oracle
    Réponses: 3
    Dernier message: 18/08/2006, 10h12

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