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 :

optimisation de code


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ABN84
    Inscrit en
    Octobre 2007
    Messages
    410
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2007
    Messages : 410
    Par défaut optimisation de code
    Bonjour,
    Voici un code que j'ai fait:

    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
     
    for i=2:length(t)
       [...]
        A(i,201)=Ac2((Y(4,: )-y(i)).^2+(Y(3,: )-y(i-1)).^2+...
                          10*(Y(4,: )-Y(1,: )).^2+...                 
                          (Y(2,: )-y(i-2)).^2+(Y(1,: )-y(i-3)).^2==...
                      min((Y(4,: )-y(i)).^2+(Y(3,: )-y(i-1)).^2+...
                          10*(Y(4,: )-Y(1,: )).^2+...
                          (Y(2,: )-y(i-2)).^2+(Y(1,: )-y(i-3)).^2));
        B(i,201)=Bc2((Y(4,: )-y(i)).^2+(Y(3,: )-y(i-1)).^2+...
                          10*(Y(4,: )-Y(1,: )).^2+...                 
                          (Y(2,: )-y(i-2)).^2+(Y(1,: )-y(i-3)).^2==...
                      min((Y(4,: )-y(i)).^2+(Y(3,: )-y(i-1)).^2+...
                          10*(Y(4,: )-Y(1,: )).^2+...                 
                          (Y(2,: )-y(i-2)).^2+(Y(1,: )-y(i-3)).^2));
    end
    l'idée est d'affecter à A(i,201), la valeur qui se trouve à la position qui correspond au minimum de (Y(4,: )-y(i)).^2+(Y(3,: )-y(i-1)).^2+10*(Y(4,: )-Y(1,: )).^2+(Y(2,: )-y(i-2)).^2+(Y(1,: )-y(i-3)).^2
    Le soucis, ces deux lignes consomment 68% tu temps de tout mon algo, y a-t-il une autre façon d'ecrire ça pour que ça soit optimisé?

    J'espère que mon explication st claire.

    merci

  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
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for i=2:length(t)
     
       [pasbesoin, idx] = min((Y(4,: )-y(i)).^2+(Y(3,: )-y(i-1)).^2+...
                          10*(Y(4,: )-Y(1,: )).^2+...
                          (Y(2,: )-y(i-2)).^2+(Y(1,: )-y(i-3)).^2);
     
        A(i,201) = Ac2(idx);
        B(i,201) = Bc2(idx);
     
    end

  3. #3
    Membre éclairé Avatar de ABN84
    Inscrit en
    Octobre 2007
    Messages
    410
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2007
    Messages : 410
    Par défaut
    Merci DUT, ça a bien allégé l'algo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 14h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 11h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 10h59

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