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 :

Erreur de détection des max d'un signal


Sujet :

Signal

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Points : 49
    Points
    49
    Par défaut Erreur de détection des max d'un signal
    Bonjour,

    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
    68
    69
    70
    clear all
    close all
    clc
     
    [A,B,C]=textread( 'Circu.txt','');
     
     
    figure;
    ecg=plot(A,C);
     
    xlabel('temp en msec');
    ylabel('tension en mV');
     
    pic=0; MaxVal=0; tempsmax=0; rr=0;
    n=0; x=0;
    X=0; Y=0; Z=0; W=0; V=0; U=0;
    seuil=2;
    j=1;
    test=0;
    for i=1:length(A)
        if ( A(i)>seuil )
            test=test+1;
            pic(test,1)=A(i);
            pic(test,2)=i/1000;
        end
        if ( (A(i)<seuil) & (test~=0) )
            test=0;
            MaxVal(j)=max(pic(:,1));
            x=find( pic(:,1)==MaxVal(j) );
            tempsmax(j)=pic(x(1),2);
            j=j+1;
            pic=0;
        end
    end
    j=1;
    i=1;
    while i<=(length(tempsmax)-1)
        if ( (tempsmax(i+1)-tempsmax(i)) >0.1 )
            W(j)=tempsmax(i);
            Z(j)=MaxVal(i);
            j=j+1;
            i=i+1;
        else
            W(j)=(tempsmax(i+1)+tempsmax(i))./2;
            Z(j)=(MaxVal(i+1)+MaxVal(i))./2;
            j=j+1;
            i=i+2;
        end
    end
    W(length(W)+1)=tempsmax(length(tempsmax));
    Z(length(Z)+1)=MaxVal(length(MaxVal));
    if (B==0)
        for i=1:(length(W)-1)
            rr(i)=W(i+1)-W(i);
        end
    else
        rr(1)=W(1)+B;
        for i=2:length(W)
            rr(i)=W(i)-W(i-1);
        end
    end
    X=rr;
    Y=1*60./rr;
    U=length(A)/1000-W(length(W));
    V=[Z W];
    figure(2), clf
    plot(A), hold on, plot(W*1000,Z,'xr')
    title('Détection des pics R d''un signal ECG (après correction)');
    ylabel('ECG (en mV)');
    xlabel('Temps (en msec)');
    message d'erreur
    ???  In an assignment  A(I) = B, the number of elements in B and
     I must be the same.
    
    Error in ==> EXEMPLE at 57
    rr(1)=W(1)+B;
    
    Merci
    Images attachées Images attachées  

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    cela veut dire que tu as un problème de dimensions :

    => par exemple si tu as un vecteur A qui à trois composantes et une vecteur B qui en 4 tu ne peux pas faire A=B

    vérifie à chaque étape la taille des objets que tu manipules.

    bon courage

    A+

  3. #3
    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
    Comme l'a dit 21did21, c'est un problème de dimension.

    Que contient la variable B ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [A,B,C]=textread( 'Circu.txt','');
     
    whos B

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Dut Voir le message
    Comme l'a dit 21did21, c'est un problème de dimension.

    Que contient la variable B ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [A,B,C]=textread( 'Circu.txt','');
     
    whos B
    bon j'ai négligé le vecteur B car j'ai pas besoin de lui,le [A,B] forme l'inverse de [A,C];le signal de la figure 1

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par 21did21 Voir le message
    cela veut dire que tu as un problème de dimensions :

    => par exemple si tu as un vecteur A qui à trois composantes et une vecteur B qui en 4 tu ne peux pas faire A=B

    vérifie à chaque étape la taille des objets que tu manipules.

    bon courage

    A+
    merci b1 amigo

Discussions similaires

  1. [Débutant] Problème de détection des phénomènes dans un signal
    Par consty82 dans le forum Signal
    Réponses: 0
    Dernier message: 15/11/2011, 22h08
  2. [Système] [debug] Détection des erreurs de compil
    Par Herode dans le forum Langage
    Réponses: 3
    Dernier message: 28/11/2006, 13h03
  3. [3.0.2]Détection des erreurs dans le Package Explorer
    Par willowII dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 18/08/2005, 18h46

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