Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

vectorisation d'un probleme



  1. #1
    ABN84

    vectorisation d'un probleme


    ------

    Bonjour,
    j'aimerais savoir s'il est possible de vectoriser une boucle for ou le resultat i depend de i-1. par ex:
    Code:
    for i=1:n-1{
             x(i)=x(i-1)*2
    }
    merci

    -----
    "Engineering is the art of making what you want from what you get"

  2. Publicité
  3. #2
    lou_ibmix_xi

    Re : vectorisation d'un probleme

    Il faudrait être plus clair... C'est du MATLAB? Tu veux faire pêter la boucle pour une opération matricielle ? Quelque chose comme:
    Code:
    x = x(1) * pow2 (0:N);
    devrait faire l'affaire...

  4. #3
    ABN84

    Re : vectorisation d'un probleme

    Bonsoir,
    oui c'est du matlab mais ça pourrait etre autre chose. Mon objectif est en effet d'eclater les boucles for pour optimiser mes codes en temps de calcul vue que mes algos sont à visée embarqué.
    l'exemple donné n'est qu'un exemple.
    pour etre plus generique, on pourrait ecrire:

    [code/]for i=1:n-1{
    x(i)=f(x(i-1),y(i-1),z(i-1)...);
    }[/code]


    autre exemple:
    Code:
    for n=1:TL-1
                  v(n+1)=v(n)+Ts*(a*y(n-1)+b*cos(z(n-1)));
     end
    "Engineering is the art of making what you want from what you get"

  5. #4
    lou_ibmix_xi

    Re : vectorisation d'un probleme

    oui c'est du matlab mais ça pourrait etre autre chose
    Pour du MATLAB, utiliser une opération matricielle à la place de boucles est pertinant. En revanche, pour un langage compilé, quel est l'intérêt puisque la définition de ton opération matricielle sera faite par un boucle... A moins d'utiliser une bibliothèque ultra-optimisée utilisant les subtilités de l'architecture sous-jacente (du genre de ATLAS ou autre BLAS)...

  6. A voir en vidéo sur Futura
  7. #5
    bobflux

    Re : vectorisation d'un probleme

    Embarqué sur quoi ? Tu as plusieurs processeurs pour paralléliser tes calculs ?

    Sinon :

    Citation Envoyé par ABN84 Voir le message
    Code:
    for n=1:TL-1
                  v(n+1)=v(n)+Ts*(a*y(n-1)+b*cos(z(n-1)));
     end
    exemple pas très représentatif puisque l'algo est directement parallélisable (c'est une somme qui se découpe en morceaux facilement)...

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/03/2010, 18h57
  2. Probleme trouver la longueur d'un segment d'un exercice de type sujet brevet
    Par ericlex007 dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 30/12/2009, 11h26
  3. Interprétation d'un problème.
    Par TitBoulet dans le forum Physique
    Réponses: 2
    Dernier message: 11/12/2008, 09h08
  4. Réponses: 23
    Dernier message: 20/10/2008, 21h05
  5. problème de démarrage d'un pc
    Par traaf dans le forum Matériel - Hardware
    Réponses: 5
    Dernier message: 17/01/2005, 12h40