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 :

suppression de valeur perturbatrice


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    technicien
    Inscrit en
    Mars 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : technicien
    Secteur : Alimentation

    Informations forums :
    Inscription : Mars 2014
    Messages : 17
    Par défaut suppression de valeur perturbatrice
    Bonjour

    est-il possible de lisser un vecteur sans en modifier la longueur ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    %% mon vecteur 
    trajets=[1;1;1;1;1;1;1;1;1;5;13;13;8;9;7;4;2;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;2;6;7;8;9;12;4;8;8;8;8;8;8;8;8;8;8;]
    Auriez-vous une formule qui permette que mon vecteur passe de 1 à 5 puis à 8 sans en modifier sa longueur total ?

    Merci d'avance

  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
    Une idée :
    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
    trajets = [1;1;1;1;1;1;1;1;1;5;13;13;8;9;7;4;2;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;2;6;7;8;9;12;4;8;8;8;8;8;8;8;8;8;8];
     
    idx = [trajets(1:end-1) == trajets(2:end) ; 1];
     
    largeur_mini_plateau = 4;
     
    for n = 1:largeur_mini_plateau-1   
        idx = strrep(idx.', [0 ones(1,n) 0], [0 zeros(1,n) 0]);
    end
     
    trajets_lisse = trajets(:).*idx(:);
     
    trajets_lisse_final = trajets_lisse;
     
    while any(trajets_lisse_final==0)
        idx2 = find(trajets_lisse_final==0);
        trajets_lisse_final(idx2) = trajets_lisse_final(idx2-1);
    end
     
    [trajets idx(:) trajets_lisse trajets_lisse_final]
     
    figure
    p = plot(1:numel(trajets), trajets, 'ro', 1:numel(trajets_lisse_final), trajets_lisse_final, 'b-*');
    legend(p, {'trajets' 'trajets lisse final'})
    Ce qui renvoi pour [trajets idx(:) trajets_lisse trajets_lisse_final] :
         1     1     1     1
         1     1     1     1
         1     1     1     1
         1     1     1     1
         1     1     1     1
         1     1     1     1
         1     1     1     1
         1     1     1     1
         1     0     0     1
         5     0     0     1
        13     0     0     1
        13     0     0     1
         8     0     0     1
         9     0     0     1
         7     0     0     1
         4     0     0     1
         2     0     0     1
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     1     5     5
         5     0     0     5
         2     0     0     5
         6     0     0     5
         7     0     0     5
         8     0     0     5
         9     0     0     5
        12     0     0     5
         4     0     0     5
         8     1     8     8
         8     1     8     8
         8     1     8     8
         8     1     8     8
         8     1     8     8
         8     1     8     8
         8     1     8     8
         8     1     8     8
         8     1     8     8
         8     1     8     8
    Images attachées Images attachées  

Discussions similaires

  1. [Débutant] Suppression de valeur sur plusieur table
    Par neuneu1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/11/2007, 14h11
  2. Suppression de valeurs dans listbox
    Par airbeone dans le forum Access
    Réponses: 3
    Dernier message: 30/11/2006, 09h26
  3. Suppression de valeurs dans une liste
    Par Bayard dans le forum Général Python
    Réponses: 2
    Dernier message: 26/04/2006, 10h19
  4. Réponses: 3
    Dernier message: 24/05/2005, 08h19
  5. suppression where valeur null
    Par jecht dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/06/2004, 16h19

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